как я могу вызвать запрос, используя собственные обещания ES6 в node.js. Ниже приведен код.Возвращение пустого ответа с использованием обещания ES6 в node.js
let arr= [];
conn.query('select * from table1', (err, b) => {
for (let i = 0; i < b.length; i++) {
console.log(b[i]["id"])
let promiseGetData = new Promise((resolve, reject) => {
conn.query('select * from table2 where id = ?', [b[i]["id"]], (err, ce) => {
if (err) {
const response = {
statusCode: 500,
body: JSON.stringify({
message: err
}),
}
reject(response);
} else {
if (ce.length != 0) {
resolve(ce);
}
}
});
});
promiseGetData .then((data) => {
b[i]['data'] = data;
arr.push(b[i])
}).catch((err) => {
console.log(err);
});
}
console.log(b)
})
Я вижу пустой ответ, когда я делаю console.log (b). Я не знаю, правильно ли я использовал обещание, я думаю, что для первого запроса я должен выполнить и в обещании. Любая помощь очень ценится
Вы рассмотрели случай, когда ce.length == 0 и нет ошибки? –
@GrantPark yes Я проверил, что нет ошибки, на самом деле я поместил console.log перед вторым запросом, и после этого я могу увидеть журнал, но не данные запроса, но все же я повторю это снова с case ce. length == 0 –
В этом случае также разместите console.log в своем втором запросе и посмотрите, выполняется ли это. –