Tag: foreach

forEach在Node.js中使用生成器

我正在使用Koa.js框架和Mongoose.js模块。 通常从MongoDB得到一个结果我的代码是这样的: var res = yield db.collection.findOne({id: 'my-id-here'}).exec(); 但是我需要为名为'items'的数组的每个元素执行这一行。 items.forEach(function(item) { var res = yield db.collection.findOne({id: item.id}).exec(); console.log(res) // undefined }); 但是这个代码不能像yield中的函数那样运行。 如果我写这个: items.forEach(function *(item) { var res = yield db.collection.findOne({id: item.id}).exec(); console.log(res) // undefined }); 我也没有得到resvariables的结果。 我试图使用“ generator-foreach ”模块,但没有像这样工作。 我知道这是我对Node.js的语言素养缺乏了解。 但是,你们能帮我find办法吗?

NodeJs,javascript:.forEach似乎是asynchronous的? 需要同步

我目前正在与3个朋友一起使用nodeJs,expressJs,MongoDB,html5,…因为我们对这些技术相当陌生,所以遇到了一些问题。 我找不到解决scheme的一个大问题是某些代码的asynchronous执行。 我想每一个循环完成,以便我有一个更新的在线朋友列表,并执行res.render(我通过在线朋友列表),因为目前它完成res.render之前完成循环。 码: function onlineFriends(req, res) { var onlinefriends = new Array(); onlinefriends.push("mark"); FriendList.findOne({ owner: req.session.username }, function (err, friendlist) { friendlist.friends.forEach(function (friend) { // here forEach starts OnlineUser.findOne({ userName: friend }, function (err, onlineFriend) { if (onlineFriend != null) { onlinefriends.push(onlineFriend.userName); console.log("a loop"); } }); }); console.log("online friends: " + onlinefriends); console.log("redirecting"); res.render('index', […]

玉的Foreach循环(node.js模板引擎)

好吧,我正在从节点服务器获取一个关联数组,并试图将其呈现在Jade中。 我显然需要一个foreach循环,但似乎没有任何工作! 我试了这两个代码: – foreach row in rows { li= row – } 和 – rows.forEach(function(item)) { li= item – }) 我传递的数组被称为“行”。 任何想法,为什么这是行不通的? 我得到这个错误: 500 SyntaxError: Unexpected identifier 并用第二个代码: 500 SyntaxError: Unexpected token )