NodeJS 0.11以及io.js和Node 0.12分支都内置了原生的 promises。
原生的 promises 具有.then
方法,总是在未来的事件循环周期中执行。
迄今为止,自从我从nextTick转换后,我一直在使用setImmediate
将事物排队到下一个事件循环迭代中:
setImmediate(deferThisToNextTick); // My NodeJS 0.10 code
process.nextTick(deferThisToNextTick); // My NodeJS 0.8 code
由于我们现在有了一种新的方法来做到这一点:
Promise.resolve().then(deferThisToNextTick);
我应该使用哪个?另外 - Promise.resolve.then
是否像setImmediate
或者像nextTick
一样在事件循环前或后运行代码?