doSomething.then(function(){ return doSomethingElse(); }).then(/..../)
doSomething.then(function(){ doSomethingElse(); }).then(/..../)
doSomething.then(doSomethingElse()) .then(/..../)
doSomething().then(doSomethingElse) .then(/..../) doSomething & doSomethingElse both promise object
回复 (9)
B
X
@booxood 主要是里面给的结果没怎么看懂。
S
Z
初步来看 1,2,4的效果应该一样吧,3的写法有问题,2个promise实例直接执行了。
K
引用 zhangking520初步来看 1,2,4的效果应该一样吧,3的写法有问题,2个promise实例直接执行了。
@zhangking5202有问题,会导致最后的then跟doSomethingElse同时执行。其它是一样的。3执行后返回promise对象,其实跟4是一样的。 楼主代码没抄好。看得我一头烟。doSomeThing后面要有括号,不然是要报错的
K
2有问题
X
@klesh 写的时候没注意,见谅哈
K
补充一下:1,3,4执行顺序是一样的,其中,1跟4是完全等效。3的 doSomethingElse() 相当于一个子操作,虽然上层的下一个 then 会等到它执行完毕再继续,但不影响上层链的结果传递,也无法将值传到上层的下一个 then。
Z
@klesh 说的没错,2没有返回值的确有问题,无法向下传递,2,3都是错误的写法。
参与回复
登录后即可参与回复。登录