2014-11-16 27 views
1

我正在寫一個node.js程序,它利用fibrous庫在我的部分代碼中維護同步控制。node.js中的同步時序

在一個輔助函數中,我需要完成一個超時,但不能使用setTimeout(),因爲它在fibrous的上下文中不起作用。

這是我想出了替代:

startTimer = new Date() 
startSecondTimer = new Date() 
while startSecondTimer - startTimer < 10000 
    startSecondTimer = new Date() 

我不是很舒服創造幾千Date對象支持這一工作流程,但我不能確定這裏是什麼更好的方法可能是。

是否有更優化的方式來編寫同步超時樣式函數?

+0

看起來你可以很容易地使用'setTimeout' [在'wait']裏面(https://github.com/goodeggs/fibrous#4-waiting-on-a-callback),或者直接使用[Fiber's '睡眠'執行](https://github.com/laverdet/node-fibers#sleep)? – Bergi

回答