2015-06-15 90 views
3

我想記錄時間的東西。一般的代碼看起來像這樣:nodejs中的'console.time'是同步還是異步?

var stream = db.call.stream(); 
stream.on('data', function() { 
    if (first) { 
     console.time('doSomething'); 
    } 
    stream.pause(); 
    doSomethingWithData(data); 
    if (stopCondition) { 
     console.timeEnd('doSomething'); 
     done(); 
    } else { 
     stream.resume(); 
    } 
}); 

我想知道如果調用console.time阻止或異步?我無法在文檔中找到它。

+2

如果console.time是異步的,則無法測量console.time和console.timeEnd之間的時間,因爲無法知道代碼段執行的開始時間。所以它必然同步 – eroak

+0

@Fieldset好點! – codehitman

回答

5

console.time and console.timeEnd的源代碼,

​​

他們只是對存儲在標籤的起始時間,計算自定時標籤經過的時間。

它們不會異步執行任何操作。

注意:在node.js中,如果函數是異步的,它將接受callback作爲其中一個參數。

相關問題