Promise 是 ES6 提供的一种异步编程解决方案,它通过链式调用 then 方法来实现异步回调。

Promise 的基本语法:

new Promise((resolve, reject) => {
  // 异步操作
  if (异步操作成功) {
    resolve(value);
  } else {
    reject(error);
  }
}).then((value) => {
  // 成功回调
}).catch((error) => {
  // 失败回调
});

其中,Promise 接受一个函数作为参数,该函数包含两个参数:resolvereject

  • resolve:异步操作成功时调用,将结果作为参数传递给 then 方法中的成功回调。
  • reject:异步操作失败时调用,将错误信息作为参数传递给 catch 方法中的失败回调。

then 方法可以接收两个参数:成功回调和失败回调,catch 方法只接收一个参数:失败回调。

使用 Promise 实现异步操作的例子:

function getData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = {name: 'Tom', age: 18};
      resolve(data);
    }, 1000);
  });
}

getData()
  .then((data) => {
    console.log(data); // {name: 'Tom', age: 18}
  })
  .catch((error) => {
    console.log(error); // 如果异步操作失败,则会打印错误信息
  });

在上面的例子中,getData 方法返回一个 Promise 对象,异步操作是模拟的 setTimeout 方法。

then 方法中的回调函数可以接收异步操作的结果作为参数,然后进行相应的处理。如果异步操作失败,则会调用 catch 方法中的回调函数,打印错误信息。

JavaScript Promise: 异步编程的优雅解决方案

原文地址: https://www.cveoy.top/t/topic/mLRR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录