📜  .then javascript(1)

📅  最后修改于: 2023-12-03 15:13:04.459000             🧑  作者: Mango

使用 Promise.prototype.then() 方法

then() 方法是Promise对象的方法之一,也是Promise对于异步编程最重要的方法之一。通过 then() 方法我们可以对异步操作的结果进行处理,以及返回新的Promise对象,进行链式操作。

语法
promise.then(onFulfilled[, onRejected]);
  • onFulfilled: 成功时执行的回调函数,接收一个参数,即异步操作返回的结果。
  • onRejected: 失败时执行的回调函数,接收一个参数,即异步操作产生的错误对象。如果不传入 onRejected 参数,则会将错误对象向下传递,并通过下一个 catch() 方法捕获。
示例
function delay(time) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(`Success after ${time}ms`);
    }, time);
  });
}

delay(1000)
  .then(result => {
    console.log(result); // 输出:Success after 1000ms
    return 'Next';
  })
  .then(result => {
    console.log(result); // 输出:Next
  })
  .catch(error => {
    console.error(error);
  });

上面的代码展示了如何通过 then() 方法对异步操作的结果进行处理,并返回新的Promise对象,以此进行链式操作。在上面的示例中,我们定义了一个 delay() 函数,用于返回一个经过指定时间后成功的Promise对象。首先通过 delay() 函数创建了一个Promise对象,然后调用 then() 方法,传入一个回调函数,以处理异步操作的结果。在回调函数中,我们打印了异步操作返回的结果,并返回了一个新的值。接着,我们在第二个 then() 方法中调用了这个返回值。最后,我们通过 catch() 方法捕获了任何可能产生的错误。

参考资料