请求后的替代.then()()

时间:2017-06-01 07:03:18

标签: node.js request

我是NodeJS的新手。我有一个异步函数

request({url: 'url',json: true}, function (error, response, body) {});

我想在调用此函数后才调用函数。我不能在这里打电话给.then()。这种情况的其他替代方案是什么?

2 个答案:

答案 0 :(得分:4)

你可以试试这样的事情

return new Promise(resolve => {
    request({
        url: "",
        method: "",
        headers: {},
        json: true
    }, function (error, response, body) {
        if(!error)
            resolve(body);
    })
}).then(value => {
    // process value here
})

答案 1 :(得分:0)

将其作为回调函数传递:

function callback (err, res, body) {
   // Do what needs to be done here. 
}    
request({ url: 'url, json: true }, callback);

在回调函数的开头,检查是否存在err,如果存在,则处理错误。

article可能会对您有所帮助。

如果异步函数返回Promise,则只能调用then。但在你进入Promise之前,你应该了解Node.js的基础知识。