私はちょうどtwitch kraken apiの使用を開始しましたが、いくつか質問があります。NodeJSリクエストモジュールでの応答の取得
JSONオブジェクトを取得しようとするたびに応答がありません。 Amazon AWS Lambdaからこの機能を実行しようとしていますが、コンソールにアクセスすることはできません。
以下のコードでは、コールバック関数は常に「成功したストリーマーエラー」を出力します。私はかなり確信していますが、今度は "ERROR"が私の初期設定結果から来ます。
どうして結果が正しいJSONに変更されないのですか?
私は郵便配達を使用していると、それはクエリとPARAM、およびヘッダで適切なものを返す:
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',
}
};
}
あなたの '' 'else'''は' '' request.get'''コールバック – Wainage
ノートに属している...場合に0ストリーマーの長さの配列は必ずしもエラーではありません。誰もストリーミングしていないゲームのストリームを照会すると、空の結果セットが返されます。配列内に0より小さい長さを持つことはできません。 – JBC
ええ、私は笑っていませんでした。エラーを<= 0にしました。それは他のコメントから非同期コードの問題のように思えます – Mszauer