首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在React Native on button click中使用redux saga取消正在进行的API调用

如何在React Native on button click中使用redux saga取消正在进行的API调用
EN

Stack Overflow用户
提问于 2019-05-22 17:21:39
回答 1查看 207关注 0票数 0

测试条件是,我们一次一个接一个地调用3-4个API,并且API的加载需要一些时间。在此期间,如果我们按下back按钮或任何其他UI组件,它将在调用完所有API之后进行响应。所以我想取消点击按钮时的API。

代码语言:javascript
复制
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));
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-22 17:51:39

lodash库应该可以做到这一点:

代码语言:javascript
复制
// create debounce
debouncedThing = _.debounce(thing, 1000);

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

// onpress button
debouncedThing.cancel()

有关this answer的更多详细信息

有关安装和使用的更多信息,请参阅lodash library

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56253423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档