小编Dus*_*exe的帖子

如何在 JavaScript 中将 promise 链接在一起

我试图链接一系列Promises 以便第二个承诺将在第一个解决之后开始,依此类推。我不明白我怎么不能让它正常工作。

这是我的演示代码:

    const promise1 = new Promise((resolve, reject) => { setTimeout(resolve, 5000, 'a'); });
    const promise2 = new Promise((resolve, reject) => { setTimeout(resolve, 5000, 'b'); });
    const promise3 = new Promise((resolve, reject) => { setTimeout(resolve, 5000, 'c'); });

    promise1.then(val => {
      console.log('promise 1', val);
      promise2.then(val2 => {
        console.log('promise 2', val2);
        promise3.then(val3 => {
          console.log('promise 3', val3);
        });
      });
    });
Run Code Online (Sandbox Code Playgroud)

所以我对这段代码的期望是这样的:

--- 5 seconds passes ---
// console outputs: 'promise 1a'
--- 5 seconds passes ---
// console …
Run Code Online (Sandbox Code Playgroud)

javascript promise es6-promise

1
推荐指数
1
解决办法
61
查看次数

标签 统计

es6-promise ×1

javascript ×1

promise ×1