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