问题:下面四个使用 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 });