Как предотвратить запуск 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);
  }
});

Моя проблема в том, что Node завершает работу сразу после запуска. Он печатает «Icanhasclient», но ни один из console.log внутри обратного вызова не вызывается.

(mysql в этом примере - node-mysql .

Есть что-то что можно сделать, чтобы заставить node.js дождаться завершения обратного вызова перед выходом?

83
задан mikl 22 June 2011 в 15:43
поделиться

1 ответ

Попробуйте это. Проверьте если эта справка.

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);
    })
}
-1
ответ дан 24 November 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: