0

Node.js アプリケーションに次のコードがあります。

var curlStatus = ""; 
var curlBody = ""; 
var curlHeaders = ""; 
var curlInfo = curl.on('end', function( statusCode, body, headers){
    curlStatus = statusCode; 
    curlBody = body; 
    curlHeaders = headers; 

    //this.close(); 
    return {status: curlStatus, body: curlBody, headers: curlHeaders}; 
}); 

curl.on('error', function(){
    console.log("CURL ERROR");
}); 

curl.perform(); 

にブレークポイントを配置すると、 、、およびが正常に読み込まれていることがreturn {status: curlStatus, body: curlBody, headers: curlHeaders};示されます。ただし、後にブレークポイントを配置すると、、、および変数がまだ空の文字列であることがわかります。親関数に情報を渡すにはどうすればよいですか? bodyheadersstatusCodecurl.perform()curlStatuscurlBodycurlHeaders

4

2 に答える 2

2

JavaScript と非同期の問題へようこそ。

するとcurl.perform();、リクエストは開始されますが、まだ完了していないため、変数curlXがまだ入力されていません。
リクエストが完了すると、定義したコールバックurl.on('end', function...が呼び出され、これらの変数に入力します。

于 2016-04-28T15:33:41.157 に答える