作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试使用 setTimeout
对 monq
执行速率限制时 worker ,为什么 worker 没有被节流?
worker
在执行 setTimeout()
之前不会等待 10 秒。为什么会这样,我们怎样才能让它延迟对 foo()
的调用?
var monq = require('monq')
var client = monq('localhost/mydb')
var worker = client.worker(['general'])
worker.register({
test: function(params, callback) {
try {
setTimeout(foo(params, callback), 10000)
} catch(err) {
callback(err)
}
}
})
foo = function(params, callback) {
console.log('Hello world')
callback()
}
最佳答案
因为 setTimeout
需要一个函数引用。相反,您正在执行函数并将结果传递给 setTimeout
。
使用:
setTimeout(function() {
foo(params, callback);
}, 10000);
此外,try/catch block 在那里有些多余,因为调用 setTimeout
不会抛出异常。相反,您需要在 foo
中处理它。
关于javascript - setTimeout 不适用于 Node.js 中的 Monq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34236632/
尝试使用 setTimeout 对 monq 执行速率限制时 worker ,为什么 worker 没有被节流? worker 在执行 setTimeout() 之前不会等待 10 秒。为什么会这样,
我是一名优秀的程序员,十分优秀!