【发布时间】:2013-11-10 15:38:17
【问题描述】:
考虑以下场景:
在我的一项 cron 作业中,我正在请求其他人的服务,该服务仅允许请求 3600 秒。 API 类似于GetPersonForName=string。考虑到我的数据库中有几个people,我需要尽可能更新他们的信息,我扫描我的数据库中的所有人并调用这个API。示例
// mongodb-in-use
People.find({}, function(error, people){
people.forEach(function(person){
var uri = "http://example.com/GetPersonForName=" + person.name
request({
uri : uri
}, function(error, response, body){
// do some processing here
sleep(3600) // need to sleep after every request
})
})
})
我不确定 sleep 是否是一种不错的方法,但我需要在每次发出请求后等待 3600 秒。
【问题讨论】:
-
为什么不使用 setTimeout 而不是睡眠 - 你可能还想研究 asyncjs (github.com/caolan/async) - 太棒了
-
如何在这个循环中为每个人使用 setTimeout?请举例?
-
sha512boo 发布了一个 Answer 说“你可以在这个模块中使用 { sleep } https://www.npmjs.com/package/gytimer”
标签: javascript node.js request sleep wait