2016-05-14 5 views

Antwort

3

Das funktioniert nicht, da es ein asynchroner Aufruf ist. Sie können nur innerhalb des Rückrufs tun.

Was Sie in dem kommentierten Code tun, ist der richtige Weg, damit umzugehen.

request("http://api.steampowered.com/ISteamApps/GetAppList/v2?format=json", function(error, response, body) { 
if (!error && response.statusCode == 200) { 

    var o = JSON.parse(body); 
    appIds = o.applist.apps.map(v => v.appid); 
    console.log(appIds); //works within scope. 
    } 
}); 
+0

Ich sehe, gibt es keinen anderen Weg um es außerhalb des Bereichs zu verwenden? Weil der Code mit einer zweiten Anfrage fortfährt, die die Ergebnisse der ersten Anfrage verwenden muss. – Kai

+0

Sie müssen sie ineinander einwickeln. Du kannst nicht einfach weitermachen und es annehmen. Sie haben eine weitere Anfrage beim Rückruf der ersten Anfrage ausgelöst. –

+1

Oder Versprechungen verwenden. – Andy

Verwandte Themen