【发布时间】:2011-09-20 12:34:15
【问题描述】:
我有这样的代码:
var client = new mysql.Client(options);
console.log('Icanhasclient');
client.connect(function (err) {
console.log('jannn');
active_db = client;
console.log(err);
console.log('hest');
if (callback) {
if (err) {
callback(err, null);
}
callback(null, active_db);
}
});
我的问题是 Node 在我运行时立即终止。它打印“Icanhasclient”,但回调中的任何 console.log 都没有被调用。
(本例中的mysql是node-mysql。
有什么办法可以让 node.js 在退出之前等待回调完成?
【问题讨论】:
-
阻止退出是什么意思?在所有回调完成之前,Nodejs 不会退出。这是一个单线程进程。
-
@nEEbz:如果是这样,为什么我的脚本没有执行回调就退出了?
-
连接数据库有问题;我不太清楚为什么它没有触发回调。有没有报错?
-
不,它只是默默地失败:(
-
这很奇怪。我希望我们能找到答案。
标签: node.js