我有一個用於調度任務的NodeJS應用程序,該任務用於創建預訂,可以在執行任務之前取消預訂,有成百上千個任務的可能性(例如在一分鐘內產生67個任務)NodeJs setTimeout clearTimeout的唯一ID
的方法,我做這件事是通過調用這個函數:
runOnDate = function (dateIn){
console.log('scheduling')
var now = (new Date()).getTime();
var booking = setTimeout(startBooking , (dateIn - now));
//Lets try to catch the ID number of booking
console.log(booking) // Shows [object Object]
console.log(booking.timeoutID) // Shows undefined
}
我的問題,如果我不得不取消這個setTimeout
中的一個開始,我知道setTimeout
返回一個Number
與它一起使用clearTimeout()
。
,但我似乎無法得到多少,有沒有一種方法來創建與唯一ID一個計時器,我可以使用clearTimeout()
或其他方式來調用特定setTimeout
clearTimeout
?
我不明白,爲什麼你需要這個號碼,只要做'clearTimeout(booking)',如果你有很多引用,可以使用數組或對象來存儲它們。 – adeneo
預訂應該是一個數字,而不是一個對象。 http://jsfiddle.net/fz2WA/ –
謝謝克里斯蒂娜,我的壞! – user1220740