2014-07-07 55 views
3

我正在尋找一種方法,在N秒的時間後在nodejs中運行一些代碼。使用nodejs在特定時間後運行函數/代碼

嘗試的setTimeout(),但它似乎就可以完全阻止,直到時間了,但是這不是我想要的,因爲我的服務器仍然是發送和接收事件。

有什麼建議嗎?

+4

'setTimeout'不會阻塞。提供代碼並證明它 – Ian

+0

我唯一的猜測就是你認爲被阻塞的代碼放在回調函數中,當它被放置在'setTimeout'函數調用之後。您需要發佈代碼才能更好地查明問題。 – Wio

+0

謝謝你說得對,用的setInterval糾正(N * 1000),但傳遞的setTimeout設置了一個param,這是在幾秒鐘內沒有MS,你讓我意識到 – JerryFox

回答

6

其實,setTimeout是異步的,所以也不會封鎖。

setTimeout(function(){ 
    // this code will only run when time has ellapsed 
}, n * 1000); 
// this code will not block, and will only run at the time 
+0

感謝我用秒不是MS哈哈。 – JerryFox

相關問題