es6 promise用法

getJSON("/post/1.json")//返回一个Promise对象

.then(function(post){returngetJSON(post.commentURL);//返回一个Promise对象})

.then(functionfunc(comments){console.log("Resolved: ", comments); });

上面的代码使用then方法,依次指定了两个回调函数。 第一个回调函数完成以后,会将返回结果作为参数,传入第二个回调函数。采用链式的then,可以指定一组按照次序调用的回调函数。

let p1 = new Promise((resolve, reject) => {
    resolve('成功了111')
})

let p2 = new Promise((resolve, reject) => {
    resolve('成功了222')
})

let p3 = new Promise((resolve, reject) => {
    resolve('成功了333')
})

Promise.all([p1, p2, p3]).then((result) => {
    console.log(result)               //输出结果    ['成功了111', '成功了222', '成功了333]
}).catch((error) => {
    console.log(error)
})

Promse.all在处理多个异步处理时非常有用,比如说一个页面上需要等两个或多个ajax的数据回来以后才正常显示,在此之前只显示loading图标。

Promse.all成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。

你可能感兴趣的:(es6 promise用法)