前言: Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象;
这篇内容只是介绍了Promise的一些应用,通俗易懂拿来就用的东西,但是没有提升到理论和标准的高度;
基础知识全是干货,代码对应问题,比较简单,能了解就好,写的不好的,希望留下宝贵的建议;
基本用法
首先,先了解一下Promise基础;
ES6 规定,Promise
对象是一个构造函数
,用来生成Promise
实例
下面创建一个promise实例
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
Promise
构造函数接受一个函数
作为参数,该函数的两个参数分别是resolve
和reject
。它们是两个函数(成功和失败),由 JavaScript 引擎提供,不用自己部署。
Promise实例生成以后,可以用then
方法分别指定resolved
状态和rejecte