我剛剛準備好讓NodeJs與我的手粗糙,但在第一個示例上嘗試並播放一些內容時,發現了一些我正在查找的行爲很難明白。setTimeout如何在Node.JS上工作,請解釋此代碼片段
var a = function() {
console.log('print 3');
return 5000;
};
setTimeout(function(){
console.log('print 2');
}, a()
);
console.log('print 1');
輸出到上面的代碼是:
print 3 print 1 print 2
和愚蠢的疑問是,雖然上面的代碼工作,這一個沒有。
setTimeout(function(){
console.log('print 2');
}, (function() {console.log('print 3'); return 5000;})
);
console.log('print 1');
請解釋上述行爲。
感謝Gazler,這麼漂亮的解釋。 –