我在howtonode, 上看到这篇文章,但不明白为什么它是假的异步?假异步功能。为什么?
所以假异步被描述为:
function asyncFake(data, callback) {
if(data === 'foo') callback(true);
else callback(false);
}
asyncFake('bar', function(result) {
// this callback is actually called synchronously!
});
正确的代码:总是异步
function asyncReal(data, callback) {
process.nextTick(function() {
callback(data === 'foo');
});
}
我的问题是什么是错的代码的第一部分? 为什么nextTick()可以承诺'正确'的作用?...
请向我解释。谢谢。