Ich habe gerade angefangen mit twitch kraken api und ich habe ein paar Fragen.Antwort bekommen mit NodeJS Anfrage Modul
Immer wenn ich versuche, ein JSON-Objekt zu erhalten, gibt es keine Antwort. Ich versuche, diese Funktion über Amazon AWS Lambda auszuführen, und habe keinen Zugriff auf eine Konsole.
Im folgenden Code wird meine Callback-Funktion immer "ERFOLG wird Streamer FEHLER" ausgedruckt. Ich bin mir ziemlich sicher, dass der "FEHLER" gerade von meiner anfänglichen Ergebniseinstellung herrührt.
Wie wird das Ergebnis nicht in den richtigen JSON geändert?
Ich habe Postbote verwendet, und es gibt die richtige Sache mit der Abfrage und param und Header:
function getJSON(callback){
var result = "ERROR";
request.get(url(games[0]),function(error,response,body){
console.log("requested for url: " + url(games[0]));
var d = JSON.parse(body);
result = d.streams[0];//.channel.display_name;
// for(var i = 0; i < limit; i++){
// streamers.push(d.streams[i].channel.display_name)
// }
streamers.push(result);
});
if (streamers.length < 0){
callback("ERROR");
}else{
callback("SUCCESS got streamers " + result);
}
}
function url(game){
return {
url: "https://api.twitch.tv/kraken/streams/",//twitchlimit,
qs : {
'game' : 'overwatch',
'limit' : 2
},
headers: {
'Client-ID': clientID,
'Accept': 'application/json',
'Accept-Charset': 'utf-8',
}
};
}
Ihre '' ', wenn ... else''' gehört in den' '' request.get''' Rückruf – Wainage
Beachten Sie, dass ein 0 Länge Array von Streamern wäre nicht unbedingt ein Fehler. Wenn Sie nach Streams eines Spiels fragen, in dem niemand streamt, erhalten Sie eine leere Ergebnismenge zurück. Sie können in einem Array niemals eine Länge von weniger als 0 haben. – JBC
ja die <0 ich dachte nicht lol. Ich machte den Fehler <= 0; Es scheint wie ein asynchrones Code-Problem aus den anderen Kommentaren – Mszauer