Как мы можем отменить постоянный вызов API с помощью Redx Saga в React Native по нажатию кнопки - PullRequest
0 голосов
/ 22 мая 2019

Условием проверки является то, что мы вызываем 3-4 API по очереди один за другим, и API немного загружается.В течение этого времени, если мы нажимаем кнопку «Назад» или любой другой компонент пользовательского интерфейса, он реагирует после вызова всего API.Поэтому я хочу отменить API при нажатии кнопки.

export function* getData(api, action) {
  const { location } = action;
  // make the call to the api
  const response = yield call(api.daily, location);
  if (response.status === 200) {
    // do data conversion here if needed
    yield put(LocationActions.Success(response.data));
  } else {
    const error = errorType(response);
    yield put(Actions.Failure(error));
  }
}

1 Ответ

0 голосов
/ 22 мая 2019

Библиотека lodash должна помочь:

// create debounce
debouncedThing = _.debounce(thing, 1000);

// execute debounced api call
this.debouncedThing();

// onpress button
debouncedThing.cancel()

Подробнее о этом ответе

См. Библиотеку lodash длябольше информации об установке и использовании.

...