码迷,mamicode.com
首页 > 其他好文 > 详细

ES6 promise

时间:2017-09-11 21:16:10      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:就会   pen   完成   log   函数   fill   resolved   nbsp   erro   

let promise = new Promise (function (resolve, reject) {
if (true) {
resolve(value)
//异步操作成功时执行的代码
} else {
reject(error)
//异步操作失败时候执行的代码
}
})

resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 Pending 变为 Resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 Pending 变为 Rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

 

promise.then(resolved, rejected)
// resolved和rejected分别是异步操作执行成功和失败时候回调函数,rejected回调函数是可选的
function timeout(ms) {
return new Promise((resolve, reject) => {
setTimeout(resolve, ms, ‘done‘);
});
}

timeout(100).then((value) => {
console.log(value);
});

promise新建后就会立即执行,then中指定的回调函数,将在当前脚本所有同步任务执行完才会执行

promise.then(resolved).catch(rejected)

catch用于捕获错误

promise.all([p1, p2, p3]) //p1,p2,p3三个异步操作同时进行,只有当三个都完成的时候才返回fulfilled,只要有一个rejected就变为rejected

var p = promise.race([p1, p2, p3]) //只要p1、p2、p3中有一个实例率先改变状态,p的状态就跟着改变
promise.resolve()将对象转为promise对象
var jsPromise = Promise.resolve($.ajax(‘/whatever.json‘));

Promise.resolve(‘foo‘)
// 等价于
new Promise(resolve => resolve(‘foo‘))

promise.reject()

 

ES6 promise

标签:就会   pen   完成   log   函数   fill   resolved   nbsp   erro   

原文地址:http://www.cnblogs.com/running1/p/7506606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!