【发布时间】:2013-11-05 17:00:07
【问题描述】:
在下面的代码中,Room.find().exec() 有一个回调函数,它产生变量room。如何在Player.find.exec() 的嵌套回调函数中访问该对象?
addplayer: function(req, res) {
Room.find(req.param('roomid')).exec(function(err, room) {
if (err) {
console.log(err);
return res.send(err, 404);
} else {
if (req.param('playerid') && req.param('playerid').length > 0) {
console.log("Room found:", room);
Player.find(req.param('playerid')).exec(function(err, player) {
if (err) {
console.log(err);
return res.send(err, 404);
} else {
if (typeof room.players === 'undefined' || !room.players.isArray) room.players = new Array();
room.players.push(player);
room.save();
console.log(player);
return res.send(room, 403);
}
});
} else {
console.log('No player id.');
return res.send('No player id.', 404);
}
}
});
}
这让我更容易看到我在问什么:
【问题讨论】:
-
应该是可以访问的,试了会怎么样,
undefined? -
父函数的参数在嵌套函数的范围内。你应该已经可以访问它了。
-
您拥有的代码已经可以做到这一点。
标签: javascript node.js sails.js