JavaScript Promise对象实现方法及应用示例

分类:知识百科 日期: 点击:0

JavaScript Promise对象

JavaScript Promise对象是ES6中提出的一种新的异步处理方式,它有三个状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。Promise对象可以让异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数,提高了代码的可读性。

Promise对象实现方法

Promise对象可以使用ES6中的Promise构造函数来实现,构造函数接受一个函数作为参数,该函数有两个参数,分别是resolve和reject,它们是两个函数,用于改变Promise的状态。

let promise = new Promise(function(resolve, reject) {
  // 异步操作
  if (/* 异步操作成功 */) {
    resolve(value);
  } else {
    reject(error);
  }
});

Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数:

promise.then(function(value) {
  // success
}, function(error) {
  // failure
});

Promise对象应用示例

下面是一个使用Promise对象实现的异步加载图片的示例:

function loadImage(url) {
  return new Promise(function(resolve, reject) {
    let image = new Image();

    image.onload = function() {
      resolve(image);
    };

    image.onerror = function() {
      let message = 'Could not load image at ' + url;
      reject(new Error(message));
    };

    image.src = url;
  });
}

let promise = loadImage('https://example.com/image.png');

promise.then(function(image) {
  // 加载成功
  document.body.appendChild(image);
}, function(error) {
  // 加载失败
  console.log(error);
});

上面的示例中,使用Promise对象简化了回调函数的嵌套,使得异步操作以同步操作的流程表达出来,大大提高了代码的可读性。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。