请求js中的回调问题

时间:2015-03-22 15:10:11

标签: javascript node.js asynchronous request

我在Request js函数中面临回调问题。以下是我的代码。

function getContent(address, result, callback){
    request(address, function (err, response, body) {
        if(err) throw err;
        if (response.statusCode == 200) {
            console.log(body);
        }
    });
    callback(null, result); 
}

现在当我运行给定代码时,我的回调被调用,然后我的请求函数被命中。我想在执行console.log(body)行后执行我的回调。请告诉我你对这个问题的建议。

提前致谢。

1 个答案:

答案 0 :(得分:1)

callback()函数应该在请求的回调中。这样,只有在请求完成后才会被调用。

function getContent(address, result, callback){
request(address, function (err, response, body) {
    if(err) throw err;
    if (response.statusCode == 200) {
        console.log(body);
        callback(null, result); 
    }
});
}