我正试图用javascript来计算承诺的概念。
我看过这段代码:
new Promise(function(res,rej) {
res("aaa");
})
.then(function(result) {
console.log(result);
return "bbb";
})
.then(function(result) {
console.log(result);
return "ccc";
})
.then(function(result) {
console.log(result);
});
打印:
aaa
bbb
ccc
到控制台日志。
几个问题:
是then()
方法1'st参数是一个将作为resolve()
方法运行的函数?
是then()
方法还返回一个值,它是一个promise,这个promise是与它链接到的那个(它的父元素)相同的承诺只有它的值{{ 1}}方法是resolve()
中resolve()
方法返回的值?
是这个承诺:
then()
是下面这个承诺的等同物吗?
var myPromise = new Promise(function(res,rej) {
res("aaa");
})
.then(function(result) {
console.log(result);
return "bbb";
})
此外,当var myPromise = new Promise(function(res,rej) {
res("bbb");
})
接受承诺时会发生什么?
就像在这个例子中一样?
then()
答案 0 :(得分:3)
var resolvedPromise = new Promise(function(res,rej){ res({data: 7}) });
var rejectedPromise = new Promise(function(res,rej){ rej('error!!!!') });
resolvedPromise.then(function(res){ console.log('resolved:' + JSON.stringify(res)); }, function (err){ console.log('rejected:' + err); });
rejectedPromise.then(function(res){ console.log('resolved:' + JSON.stringify(res)); }, function (err){ console.log('rejected:' + err); });

var promise = new Promise(function(res,rej){ res({data: 7}) });
promise.
then(function(res){ console.log(res); return res.data; }).
then(function(res){ console.log(res); return res + 1; }).
then(function(res){ console.log(res);});