我得到了回調的異步性質。我只是尋找一種模式,將返回值呈現給console.log("1", ret);
。.on()監聽器中的Node.js回調的返回值
還是有一個更好的方法?
這是在.on()中的回調正在拋棄我。
var _Con = require('tedious').Connection;
var _Req = require('tedious').Request;
function OnConnect_CanIConnectToTheDB(err) {
if (err)
return "err, could not connect to db";
else
return "connected to db// ";
}
function CanIConnectToTheDB() {
var ret = "err";
var con = new _Con({ userName: 'bla', password: 'bla', server: 'bla' })
.on('connect', function (err) {
ret = OnConnect_CanIConnectToTheDB(err);
console.log(ret);
});
console.log("1", ret);
return ret;
}
router.get('/', function (req, res) {
res.send(CanIConnectToTheDB());
});
「我得到回調的異步性質」 - 不,你不知道。 – Quentin
也許不在你的深度。 – Steve
對於所有的異步函數,只有兩件事情是真的。 (1)他們不會立即致電。 (2)由於1,您不能將結果返回到啓動異步過程的函數。沒有很多深度。 – Quentin