有人可以解释为什么这会以相反的顺序打印吗?
代码:
when('test')
.then(function() {console.log('should be first');})
.then(console.log('should be second'));
输出:
should be second
should be first
PS:我使用的是when.js版本:when@3.4.3
答案 0 :(得分:5)
您立即执行第二个console.log
,并将返回值传递给then
。您需要将函数传递给then
。
您已经有效地完成了这项工作:
var x = console.log('should be second')
when('test')
.then(function () { console.log('should be first'); })
.then(x);