如何防止Node.js在等待回调时退出?

我有这样的代码:

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);

}

});

我的问题是,节点在运行时立即终止。它显示“ Icanhasclient”,但没有调用回调内的console.log。

(本例中的mysql是node-

mysql。

有什么办法可以使node.js在退出之前等待回调完成?

回答:

回调未排队

节点运行直到所有事件 都为空。诸如以下的调用时,回调将添加到事件 中

  emmiter1.on('this_event',callback).

已执行。该调用是模块开发人员编写的代码的一部分。

如果模块是同步/阻塞版本的快速端口,则在操作的某些部分完成之前可能不会发生这种情况,并且所有队列在此之前可能为空,从而允许节点静默退出。

这是一个偷偷摸摸的错误,这是模块开发人员在开发过程中可能不会遇到的错误,因为它在具有多个

繁忙系统中很少发生,因为在临界时间很少所有人都空着。

用户可能的修复/错误检测器是在可疑函数调用之前插入特殊的计时器事件。

以上是 如何防止Node.js在等待回调时退出? 的全部内容, 来源链接: utcz.com/qa/397473.html

回到顶部