1.Promise是什么?
Promise是抽象异步处理对象以及对其进行各种操作的组件。
2.实例化
使用new
来调用Promise
的构造器来进行实例化
var promise = new Promise(function(resolve, reject) { // 异步处理 // 处理结束后、调用resolve 或 reject });
3.实例方法
promise.then(onFulfilled, onRejected)
resolve时 onFulfilled 会被调用
reject时 onRejected 会被调用
4.静态方法
Promise.all()
Promise.resolve()
例子:
function asyncFunction() { return new Promise(function (resolve, reject) { setTimeout(function () { resolve(‘Async Hello world‘); }, 16); }); } asyncFunction().then(function (value) { console.log(value); // => ‘Async Hello world‘ }).catch(function (error) { console.log(error); });
5.Promise的状态
Fulfilled 成功
Rejected 失败
Pending 既不是resolve也不是reject的状态
6.new Promise的快捷方式
Promise.resolve(value)
Promise.resolve(42); 相当于 new Promise(function(resolve){ resolve(42); }); //resolve(42); 会让这个promise对象立即进入确定(即resolved)状态,并将 42 传递给后面then里所指定的 onFulfilled 函数。 Promise.resolve(42).then(function(value){ console.log(value); });
Promise.reject(value) 同理
7.promise.catch
promise.catch() 相当于 promise.then(undefined, onRejected);
参考:http://liubin.org/promises-book/
时间: 2024-11-07 00:54:22