我每分钟都在使用node-cron做一些繁重的任务(更新数据库)。这个任务是使用主进程来工作还是 nodejs 会创建一些工人来完成这些任务?
var CronJob = require('cron').CronJob;
new CronJob('0 * * * * *', function() {
//Update database every minute here
console.log('Update database every minute');
}, null, true, 'America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud) 我正在使用nodejs来查询来自Mongodb的Mongodose数据.获取数据后,我想在响应客户端之前对该数据执行某些操作.但我无法获得回报价值.在Google上查看之后,我了解到Node.js函数是异步javascript函数(非I/O阻塞).我尝试这个tut(http://www.youtube.com/watch?v=xDW9bK-9pNY),但它不起作用.以下是我的代码.myObject在"find()"函数内部被赋值,在"find()"函数外部未定义.那么我该怎么做才能获得数据呢?谢谢!
var Person = mongoose.model('Person', PersonSchema);
var Product = mongoose.model('Product', ProductSchema);
var myObject = new Object();
Person.find().exec(function (err, docs) {
for (var i=0;i<docs.length;i++)
{
Product.find({ user: docs[i]._id},function (err, pers) {
myObject[i] = pers;
console.log(myObject[i]); //return the value is ok
});
console.log(myObject[i]); //return undefined value
}
console.log(myObject); //return undefined value
});
console.log(myObject); //return undefined value
app.listen(3000);
console.log('Listening on port 3000');
Run Code Online (Sandbox Code Playgroud) node.js ×2
asynchronous ×1
cron ×1
cron-task ×1
javascript ×1
mongoose ×1
process ×1
return-value ×1