在React中将函数与API调用同步

时间:2017-12-13 11:37:27

标签: reactjs flux

以下是我的应用中发生的步骤。

  1. 根据UI事件更新状态。
  2. 状态更新后发出API请求。
  3. 根据该API请求的响应,进行另一个接受两个参数的函数调用,一个对象来自步骤1中更新的状态,另一个来自步骤2中API请求的响应。
  4. 我无法做的是如何使我的第二个功能等待第一个请求完成?

    更新状态并发出API请求的代码。

    this.setState({
      // Set State here.
    }, () => {
      this.props.Make_API_Call(params);
    });
    

    执行上面的代码后,我需要调用我的第三个函数的两个参数已经在我的Component的本地状态中。剩下的问题是如何附加我的第三个功能?

1 个答案:

答案 0 :(得分:1)

确保您的函数MAKE_API_CALL()返回一个承诺。一旦该承诺解决,.then函数(已履行或已拒绝)将执行。

this.setState({
  // Set State here.
}, () => {
  this.props.Make_API_Call(params).then(function(res) {
    thirdFunction(this.state.someValue, res)
  }, function(reason) {
    // rejection
  });
});