2016-07-23 8 views
0

Ich habe ein kleines Modul geschrieben, das eine Get-Anfrage mit dem Modul 'request' erstellt. Ich möchte es von einem anderen Skript zu tun, ruft, und verwenden Sie das Ergebnis der Get auf der rufenden Funktion wie so:Übergeben Sie den Text der Anforderung an die aufrufende Funktion mit dem Knotenanforderungsmodul

var request = require('request'); 

function SendGet(uri) { 

var outer_body = "test"; 
request(uri, function(error, response, body) { 
         console.log(body); 
         outer_body = body;      
        }); 

console.log(outer_body); 
return outer_body; 
} 
exports.GetRequest = SendGet; 

Dann habe ich es wie folgt verwendet werden:

var MyReq = require('./reqtest'); 
var uri = "http://api.myhost.com"; 
var result = MyReq.GetRequest(uri); 
console.log("My result is:",result); 

Wenn ich es laufen, ich sehe in der Konsole der Körper der Antwort, wenn die GetRequest verwenden, aber die Variable, die immer noch der Wert zurückgegeben wird, verwendet es zu initialisieren:

c:\node messages.js 
test 
My result is: test 
<full body here> 
c:\ 

Wie kann ich den Körper an die aufrufende Funktion übergeben zurück? danke

Antwort

0

Versuchen Sie, diese

var request = require('request'); 

function SendGet(uri) { 

var outer_body = "test"; 
outer_body = request(uri, function(error, response, body) { 
         console.log(body); 
         return body;      
        }); 

    console.log(outer_body); 
    return outer_body; 
} 
exports.GetRequest = SendGet; 

Hier werden Sie das Ergebnis Ihrer Rückruf auf die Variable outer_body Rückkehr

+0

Ihnen danken, es versucht, aber was es zurückgegeben wird ist die Anforderung, nicht der Körper – user3196371

Verwandte Themen