React / Redux:如何在调用API的方法中返回两个对象?

By simon at 2018-02-28 • 0人收藏 • 40人看过

这是我的代码片段,我调用一个API并返回一个数据对象:

function search(location, term) {
  let body = {
   location: location,
   term: term
  };

  return callApi("search", "GET", body)
    .then(response => {
      return response.data;
    })
    .catch(error => {
      return Promise.reject(error);
    });
}
注意我是如何返回response.data的。我也需要返回response.extra。 任何想法如何做到这一点?我是否需要创建另一种方法?

2 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

你可以从承诺的内部回报你想要的任何东西:

return callApi("search", "GET", body)
  .then(response => {
    return {
      data: response.data,
      extra: response.extra
    }
  })
当然,您可以返回整个响应对象CT:
.then(response => response)
只有更多的领域才能得到类似的结果

2018-02-28   #2

假设响应已包含数据和额外数据,则可以返回 一个数组或一个对象(这是最好的)。如果哟你不介意,你可以 直接返回回复,或者(如果你想确保真正公开 数据和额外的)你转

{data: response.data, extra: response.extra}
在这种情况下,您必须通过下一个点符号访问它 承诺处理器。 我希望我没有误解你的问题。

登录后方可回帖

Loading...