Я попытался создать 2 функции, используя асинхронный водопад, который использовал асинхронный, обычно это работает, но в этом случае я попытался объединить с Axios, это происходит
(node:1512) UnhandledPromiseRejectionWarning: Error: Callback was already called.
функция, которую я использовал, похожа на эту
function postdata1(links, value, header = {}, callback1) {
var data = mydata
async.waterfall([
function (callback2) {
axios.post(links, data, {
headers: header
}).then(function (response) {
// handle success
//console.log(response);
if (response.status === 200) {
callback2(response.status, response.data)
return;
} else if (response.status === 500 || response.status === 404) {
callback2(response.status, response.data)
return;
}
}).catch(function (error) {
// handle error
callback2(error, null); --> the error come from here
return;
})
}, function (arg1, callback) {
Flagging(value.ID, (err, result) => {
if (err) {
callback(err, null)
} else {
callback(null, arg1);
}
})
}
], function (err, result) {
if (err) {
callback1(err,null);
}
else{
callback1(null,result);
}
});
}
Я проверял несколько раз, но я думаю, что в этой функции нет цикла, я совершенно новичок в использовании node.js и никогда раньше не использовал Axios, что Axios делает какой-то цикл в catch?или любое решение сделать 2 асинхронных продукта, один вызов внешнего API и один - обновление БД.
Функция пометки - обновить запрос к моей базе данных