节点获取发布请求在回调函数中不起作用

时间:2019-03-14 16:23:19

标签: node.js shopify tedious node-fetch

所以我试图查询数据库,将返回值格式化为json,然后将该json发送到shopify。查询工作正常,并且在queryDatabase回调函数中以外的任何地方调用post函数都可以。在回调内部调用postJson控制台时,它会返回值,但不会在shopify上发布。如果我自己调用postjson或将其链接到queryDatabase()。then(postJson()),则该值将显示在shopify上。

sql查询使用乏味。

connection.on('connect', function(err)
    {
        if (err)
        {
            console.log(err)
        }
        else
        {
            queryDatabase(qryString, (err, results) => {
                if(err) {
                    console.log(err);
                } else {
                    console.log('working');
                    postJson(results);
                }
            })
            .then((qryArr) => (console.log(qryArr)))
        }
    }
);

在queryDatabase()回调内部,我已使用node-fetch调用了postJson()

function postJson(body) {
    fetch('https://example.com', {
        method: 'post',
        body:    JSON.stringify(body),
        headers: { 'Content-Type': 'application/json' },
    })
    .then(res => res.json())
    .then(console.log('*******************************'))
    .then(console.log(body))
    .then(json => console.log(json))
    .catch(err => console.error(err));
}

关于什么为什么不起作用的任何想法?还是我可以将返回值传递到.then(postJson),因为它在那里工作?

谢谢

0 个答案:

没有答案