在promise中使用then()

Nha*_*yen 5 javascript reactive-programming promise

我在下面的代码块中使用promise,2然后是()我没有返回任何值,所以我想知道在下一个then()函数之前调用的第一个then()中的函数.我在角度2使用打字稿.谢谢你:D

Promise.resolve()
    .then(()=>{
      this.getListStatus();
    })
    .then(()=>{
      return this._laundryServiceOrderService.findAll(true, offset, this.itemsPerPage, filterQuery)
    })
    .then((response) => {
      this.orders = response.data;
      this.totalItems = response.totalItems;
    })
    .catch(error => {
      FlashMessage.setError(error.message);
    });
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 7

首先然后()我不返回任何值,所以我想知道在下一个then()函数之前调用的第一个then()中的函数.

是的.(这可以通过调试器进行检查.)

它没有返回值并不重要; 这实际上和做的一样return undefined.所以链中的下一个回调将被undefined视为分辨率值,但由于下一个回调不关心分辨率值,所以没关系.

这是一个演示它的简单示例:

Promise.resolve("a")
  .then(result => {
    console.log("First callback got: " + result);  // Gets "a"
  })
  .then(result => {
    console.log("Second callback got: " + result); // Gets undefined
    return "b";
  })
  .then(result => {
    console.log("Third callback got: " + result);  // Gets "b"
  })
  .catch(error => {
    console.log("There's no error above, this won't get triggered.");
  });
Run Code Online (Sandbox Code Playgroud)