Mysql. js + Node.js обратный вызов никогда не происходит или имеет неправильное время - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь выполнить SELECT для подсчета, если запись существует, а затем обновить ее, если запись отсутствует, вместо этого я вставлю ее в базу данных, так что это тривиальная концепция. Я использовал два разных способа написания этого, оба дали мне странный результат:

МЕТОД ОДИН

основной файл приложения

var res = '';
db.GetRecordset(my_valid_sql, res, function (res){
    console.log('Main procedure: ' + res.lenght); //never happen
});

мой mysql файл обработчика

GetRecordset: function (req, res) {        
    con.query(req, function (err, res, fields) {
        console.log("Total Records:- " + res.length); //by my sql this will return 1
        if (err) throw err;            
    });    

Так что с этим методом у меня нет ответа от моей функции, поэтому любой код, который я ввожу в месте журнала «Основная процедура» никогда не будет выполнена.

СПОСОБ ДВУХ

основной файл приложения

var res = '';
db.GetRecordset(my_valid_sql, res);
console.log(res.lenght); //returns UNDEFINED

мой sql файл обработчика

GetRecordset: function (req, res) {
    con.query(req, function (err, res, fields) {
        console.log("Total Records:- " + res.length); //this is happening BEFORE the previous UNDEFINED console log
        if (err) throw err; 
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...