异步瀑布回调中的Axios已被调用

时间:2019-02-11 15:32:03

标签: javascript node.js asynchronous axios async.js

我尝试使用使用异步的异步瀑布创建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会做一些循环吗?或执行2次异步生成的任何解决方案,一种是调用外部API,另一种是更新数据库。

标记功能是将查询更新到我的数据库

0 个答案:

没有答案