由於他的寫法是同步,但是又使用 callback 方式
原本以為在改架構時,可以簡單的改成 return 形式
但卻撞到不知名的 bug
試了一下才知道在 callback 中的 reurn 不等於呼叫 callback 的 function 的 return
如果直接 return,此時的 var a 會是 undefined
抱歉,不熟 Node.js 不知要怎麼形容
記錄一下,以後再來找答案
function test(callback) {
console.log("in test");
var usage = Math.floor((Math.random() * 100) + 1);
if ((usage%2) == 0) {
callback(true);
} else {
callback(false);
}
console.log("exit test");
}
function b() {
console.log("in b");
var res;
test(function(result) {
console.log("in test callback", result);
/*
if (result) {
return true;
} else {
return false;
}
*/
res = result;
});
console.log("after test");
return res;
}
var a = b();
console.log("after b");
console.log(a);
沒有留言:
張貼留言