【发布时间】:2016-05-07 21:40:51
【问题描述】:
我在 MongoDB 中有一组 users。我需要为每个用户生成一个令牌并将其保存到数据库中:
var crypto = require('crypto');
db.users.find({}).exec(function(users){
users.forEach(function(user){
user.token = crypto.randomBytes(32).toString('hex');
user.save();
});
});
我总是对异步方法感到困惑,只是无法理解它们是如何工作的......所以这段代码不起作用,因为它在 save() 调用完成之前就存在了。你会如何让它发挥作用?您将如何等待所有save()˙calls 并将Done! 打印到控制台?
谢谢!
【问题讨论】:
标签: javascript node.js mongodb asynchronous promise