promise学习记录

问题:下面四个使用 promise 的语句之间的不同点在哪儿?

 

doSomething().then(function () {
    return doSomethingElse();
});

doSomethin().then(function () {
    doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

通过自己跑下测试代码,才发现不同的地方:

 1 doSomething().then(function () {
 2     return doSomethingElse();
 3 }).then(function(result){
 4   console.log(result);    //输出doSomethingElse()中所返回的Promise.resolve()
 5 });
 6 
 7 doSomething().then(function () {
 8     doSomethingElse();
 9 }).then(function(result){
10   console.log(result);    //输出undefined
11 });
12 
13 doSomething().then(doSomethingElse()).then(function(result){
14   console.log(result);    //输出doSomething()中所返回的Promise.resolve()
15 });
16 
17 doSomething().then(doSomethingElse).then(function(result){
18   console.log(result);    //输出doSomethingElse()中所返回的Promise.resolve()
19 });

 

 
posted @ 2016-02-22 15:50  Billy_Sherry  阅读(103)  评论(0编辑  收藏  举报