React native redux saga调度是否可以立即返回api结果而不是返回操作

React native redux saga调度是否可以立即返回api结果而不是返回操作,react-native,redux-saga,React Native,Redux Saga,在下面的一个承诺中给出了一个分派 Promise.resolve(this.props.dispatch(getAPI(item))) // dispatch .then(function (result) { //result is the action passed in Linking.openURL(result.url); }) 一旦分派执行并调用一个api,然后该api返回一个类似url的值,我可以立即访问then()中的api结果吗?这样我就可以立即使用结果并将其传递到L

在下面的一个承诺中给出了一个分派

Promise.resolve(this.props.dispatch(getAPI(item))) // dispatch
.then(function (result) { //result is the action passed in
    Linking.openURL(result.url);
})
一旦分派执行并调用一个api,然后该api返回一个类似url的值,我可以立即访问then()中的api结果吗?这样我就可以立即使用结果并将其传递到Linking.openUrl()中


我问这个问题的原因是,当api结果发送到mapToProps时,我似乎无法获得最新的道具。如果我尝试使用生命周期方法(如componentWillUpdate)强制更新道具,它会多次调用componentWillUpdate,当它打开url时,您可以在屏幕上看到它多次刷新,因为您要调用的api包装在一个承诺中

Sagas.js
function * defaultSaga (action) {
  try {
    ... Other Code
    const result = yield call(YourApi, params) // Check the docs for redux-saga call
    // On api Success
    if(result && result.ok) {
      yield call(Linking.openUrl, result.url)
    }
  } catch(ex) {
    yield put(// Any error action here)
  }
}