标签:err amp res timeout 成功 log str 注意 返回
下面代码执行后打印结果的先后顺序 会因为 Math.random 产生的随机数而受影响
‘use strict‘;
var testPromise = (function(){
var count = 1;
return function(order){
//定义一个 Promise 对象
var pi = new Promise(function (resolve, reject) {
setTimeout(function () {
resolve(count++);
}, Math.round(Math.random() * 100) + 1000);
});
//添加一个 Resolved 函数
pi.then(function (reslut) {
console.log(order ," -- " ,reslut);
});
};
})();
testPromise("A");
testPromise("B");
testPromise("C");
处理一个或多个 promise 集合
‘use strict‘;
var testPromise = (function(){
var count = 1;
return function(){
var promises = [1,2,3,4,5].map(function (id) {
return new Promise(function (resolve,reject) {
setTimeout(function () {
resolve(count++);
}, Math.round(Math.random() * 100) + 1000);
});
});
Promise.all(promises).then(function (reslut) {
console.log("success : ",reslut);
}).catch(function(reslut){
console.log("error : ",reslut);
});
};
})();
testPromise();
需要注意事先好的 5 个 Promise 不能出现异常, 其中任意一个出现异常,
Promise 的状态都将为 catch 需要处理 error
将现有对象转为 Promise 对象
‘use strict‘;
test.json : {
"test" : "test"
}
var pi = Promise.resolve($.get(‘test.json‘));
pi.then(function (reslut) {
console.log("success : ",reslut);
},function(error){
console.log("error : ",error);
});
将现有对象转为 Promise 对象, 与 Promise.resolve 差不多, 只监听异常 个人觉得这个功能能用上的场景很少
‘use strict‘;
var pi = Promise.reject($.get(‘test.json‘));
// 第一个 Resolved 不用写, 不会执行
pi.then(null,function(error){
console.log("error : ",error);
});
同 Promise.all 一样接收一个数组,不同的是只要该数组中的任意一个 Promise 对象的状态发生变化 ( 无论是 resolve 还是 reject ) 该方法都会返回。
‘use strict‘;
var testPromise = (function(){
var count = 1;
return function(){
var promises = [1,2,3,4,5].map(function (id) {
return new Promise(function (resolve,reject) {
setTimeout(function () {
resolve(count++);
}, Math.round(Math.random() * 100) + 1000);
});
});
Promise.race(promises).then(function (reslut) {
console.log("success : ",reslut);
}).catch(function(reslut){
console.log("error : ",reslut);
});
};
})();
testPromise();
标签:err amp res timeout 成功 log str 注意 返回
原文地址:http://www.cnblogs.com/cmyoung/p/6040815.html