可以在 then() 函数中调用另一个端点吗? ReactJS 公理

Is it okay to call another endpoint inside the then() function? ReactJS Axios

我是 React js 的新手,我对我的端点有疑问。 可以在 .then() 函数中调用另一个端点吗? 这是我的代码:

this.props.getReviwerSurvey(surveyId, authToken.id)
  .then(
    () => {
      const {
        reviewerSurvey } = this.state;
      this.props.getAccount(reviewerSurvey && reviewerSurvey.relationships ?
      reviewerSurvey.relationships.participant.id : null);

    },
  );

this.props.getReviewerSurvey是我的第一个端点,我的第二个端点是this.props.getAccount(),好像不太标准。如何在不调用回调内部的 this.props.getAccount 的情况下获取 reviewerSurvey.relationships.participant.id 的值?如果有别的办法。非常感谢您的想法。

您可以 return 从第一个请求中解析的承诺并将其传递给下一个 then 链,这样您就可以避免回调地狱。

一些通用示例:

this.props.getReviwerSurvey(surveyId, authToken.id)
  .then(() => {
      const { reviewerSurvey } = this.state;
      return reviewerSurvey;
    },
  ).then((reviewerSurvey) => {
     return this.props.getAccount(reviewerSurvey && reviewerSurvey.relationships ?
      reviewerSurvey.relationships.participant.id : null);
  }).then((participantId) => {
      // do something with participantId or other data related to the account
  });