0
私は急行を使用しています。nodejsはリクエストから変数を返します
コントローラから、私はURLにリクエストを行い、cheerioを使ってHTMLタグを取得する関数を呼び出します。私はすべてのconsole.logが動作しても、その値を返すことはできません。
コード:
router.get('/', function(req, res) {
var data = "none";
var newData = parse(data);
console.log(newData);
})
function parse(out){
{
url = 'http://www.XXXXXX.int/';
out = out || "Init value";
request(url, out, function(error, response, html){
console.log(out);
out ="ASDA";
return out; //op1
}) ;
return out; //op2
}
}
私はタイトルのVARをretriveすることができますよ。しかし、リターン(内部リクエストでさえ)リターンはオリジナルの値を変更しません。これは、同期についての何かかもしれません..しかし、私は本当に迷ってしまいました..
任意の光?¿
私はしかし後に、コールバックを追加した「解析( - ..」私がconsole.log(newData)に 'none'と表示された場合は、ルータを終了する前にコールします。 – user1343998
@ user1343998これは非同期なので、コールバックを持つ関数の後に書かれたものは、私の答えをチェックして、私はそれを編集した – VirginieLGB