如题
回复 (13)
X
node自带的timer是做不到的 https://nodejs.org/en/docs/guides/timers-in-node/
F
不开其他线程,以js的event loop来说,是不能你说延时多长时间就执行的
A
一般这时候要回去看看需求是否合理
L
你的准确定义是误差范围是 秒 毫秒 还是微秒
Y
process.nextTickt()和setImmediate能满足你的需求
J
同意2l event loop的机制,就决定了,你没办法准确控制task的触发。 一般来说,js都不会面对这种需求, 包括java,实时性这方面也是不够好的.但别人从来没说这算个问题啊.
L
引用 yuedunprocess.nextTickt()和setImmediate能满足你的需求
@hpgt 这两个也都是依赖事件循环的,而且还要延迟到本次循环结束
Y
引用 lzghzr@hpgt 这两个也都是依赖事件循环的,而且还要延迟到本次循环结束
@lzghzr 如果是这样的话这个问题本身不成立,settimeout本来就是延后执行,不想延后那就不要用这个函数,process.nextTickt已经是在下一次事件循环执行了,难不成还想跳出事件循环之外
L
引用 yuedun@lzghzr 如果是这样的话这个问题本身不成立,settimeout本来就是延后执行,不想延后那就不要用这个函数,process.nextTickt已经是在下一次事件循环执行了,难不成还想跳...
@hpgt 对啊,所以楼主这个要求本来就没法实现(可以写个插件?),而且误差范围也没说
S
引用 atian25一般这时候要回去看看需求是否合理
@atian25 某某物流科技的电话面试题。。
S
引用 lvgithub你的准确定义是误差范围是 秒 毫秒 还是微秒
@lvgithub 应该是0误差啊
S
引用 fruit-memory不开其他线程,以js的event loop来说,是不能你说延时多长时间就执行的
@fruit-memory 面试官问除了开线程还有什么方法
S
参与回复
登录后即可参与回复。登录