1
function findById(id) {
var fullName = "";
client.emit("findById", id, function(result){
fullName = result.fullName;
});
}
我想找到全名从功能findById事件发射器同步的Node.js客户端
当我打电话功能findById结果=“”
function findById(id) {
var fullName = "";
client.emit("findById", id, function(result){
fullName = result.fullName;
});
}
我想找到全名从功能findById事件发射器同步的Node.js客户端
当我打电话功能findById结果=“”
要使其同步,你必须锁住功能与循环。 我不建议这样做。
function findById(id) {
var fullname, waiting = true;
client.emit("findById", id, function(result){
fullname = result.fullName;
waiting = false;
});
while (waiting);
return fullname;
}
这是更好地只是接受事实的方法本质上是异步的,并且将结果传递给回调:然后
function findById(id, callback) {
client.emit("findById", id, function(result){
callback(result.fullName);
});
}
用法是:
findById(id, function(fullName) { /* ... */ });
如果嵌套回调在你的应用程序中变得头痛,像async(在Node和浏览器中运行)等流程控制库使事情变得更清晰和更具可读性。
谢谢! 这就是我需要的 – vuanphuong 2013-03-18 05:39:30