Я сейчас работаю над проектом, и мне нужно выполнить некоторые функции асинхронно.
Я искал это и обнаружил, что обещания сработают.Вот мой код:
var check = `SELECT * FROM change_name_spelling WHERE SID = ${SID}`;
isSIDInDB = false;
let promise1 = new Promise(function(resolve, reject) {
con.query(check, function callback(err, result) {
if (err) throw err;
console.log('length: ' + result.length);
const error = false;
if (!error) resolve(result.length);
else reject('Rejected');
});
promise1
.then(function(value) {
if (value > 0) {
isSIDInDB = true;
console.log('is db, from query, ' + isSIDInDB);
} else {
isSIDInDB = false;
console.log('is Not in db, from query, ' + isSIDInDB);
}
resolve(isSIDInDB);
reject();
})
.then(function(value) {
if (value) {
console.log('in db');
} else {
console.log('not in db');
}
});
}).catch(error, function() {
console.log(error);
});
Однако, когда я запускаю этот код, я получаю следующие ошибки:
1- UnhandledPromiseRejectionWarning: ReferenceError: обещание1 не определено.
2- UnhandledPromiseRejectionWarning: необработанное отклонение обещания.
3- UnhandledPromiseRejectionWarning: ReferenceError: ошибка не определена.
обратите внимание, что я уже установил пакеты обещаний в код VS с помощью команды "npm install Promise"но все равно получил те же ошибки.Что мне делать?