从请求函数中获取值并将其传递给另一个请求函数

时间:2016-06-13 19:35:34

标签: javascript node.js request

我有一个请求函数,我传递url1并获取一个名为latitude的值,然后使用它来创建一个新的url并将其传递给另一个请求函数。那么如何使用在该请求函数之外的一个请求函数中获得的值

var url1 = {some url}
var latitude;
request(url1, function (error1, response1, body1) {
    if (error1){
        return console.log('Error:', error1);
    }

    if (response1.statusCode !== 200) {
        return console.log('Invalid Status Code Returned:', response1.statusCode);
    }

    var obj1 = JSON.parse(body1);
    latitude = obj1.response.data[0].latitude;
});

// I want to use this latitude that to make a new url and use it another request function          
var url2 = {some url + latitiude}
request(url2, function (error2, response2, body2) {
    if (error2) {
        return console.log('Error:', error2);
    }

    if (response2.statusCode !== 200) {
        return console.log('Invalid Status Code Returned:', response2.statusCode);
    }
});

那么如何将纬度值从第一个请求函数传递给新的url2?当我尝试在第一个请求函数之外无法访问纬度变量时。

1 个答案:

答案 0 :(得分:0)

您可以使用回调将从第一个函数获得的值传递给第二个函数

var url1= {some url}        
var latitude;   
request(url1, function (error1, response1, body1) {    
     //some code
     var obj1= JSON.parse(body1);    
     latitude = obj1.response.data[0].latitude;     

     var url2 = {some url + latitiude}    
     request(url2, function (error2, response2, body2) {    
        //some code          
     });  
});