У меня есть такой код:
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 дождаться завершения обратного вызова перед выходом?
Попробуйте это. Проверьте если эта справка.
var client = new mysql.Client(options);
console.log('Icanhasclient');
var verbose;
if (!verbose) {
return new Promise(function (resolve, reject) {
client.connect(function (err) {
if (err) {
console.log(Error in connecting
SQL ${err}
)
;
return reject(err);
}
verbose = client;
return resolve(verbose);
})
})
} else {
return new Promise(function (resolve) {
resolve(verbose);
})
}