ES6 - Promise

Posted tangge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 - Promise相关的知识,希望对你有一定的参考价值。

基础

Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.

三种状态

一个 Promise有以下几种状态:

pending: 初始状态,既不是成功,也不是失败状态。
fulfilled: 意味着操作成功完成。
rejected: 意味着操作失败。
技术图片

const promise1 = new Promise(function(resolve, reject) {
  setTimeout(function() {
    resolve('foo');
  }, 300);
});

promise1.then(function(value) {
  console.log(value);
  // expected output: "foo"
});

console.log(promise1);
// expected output: [object Promise]

Resovle 和 Rejected

技术图片

链式调用

因为 Promise.prototype.thenPromise.prototype.catch 方法返回promise 对象, 所以它们可以被链式调用。

技术图片

以上是关于ES6 - Promise的主要内容,如果未能解决你的问题,请参考以下文章

es6-promise源代码重点难点分析

如何在 ES6 中将回调代码转换为 Promise [重复]

ES6 promise

ES6 promise对象

es6从零学习:promise

ES6的Promise