私はいくつかのajax呼び出しを作成しています。最終的に必要な関連値を含むオブジェクトの配列を作成したいと考えています。 Unfortunatley私は奇妙な何かにぶつかった。私の最初のajax呼び出しは、私が探しているオブジェクトの配列を返しますが、配列の長さを呼び出すと0になります。オブジェクトがいっぱいの配列には、長さがありません。
function followingsJSON(followings) {
var followingObject = [];
for (var i in followings) {
var query = "https://wind-bow.glitch.me/twitch-api/users/" +
followings[i];
$.ajax({
url: query,
type: "GET",
datatype: "json"
}) .done(function(json){
if (json.display_name) {
followingObject.push({
'display_name' : json.display_name,
'logo' : json.logo,
'_id' : json._id
});
} else {
followingObject.push({
'display_name' : null
});
}
})
};
console.log(followingObject);
console.log(followingObject.length);
}
使用CHROM devのツール私はfollowingObjectがあるコンソールログから見ることができます:
[]
0: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
7: Object
8: Object
length: 9
__proto__: Array(0)
ここでは、関連するコード(コード「以下」で、ユーザーが持っている以下の配列です)のですだから配列は私が望むオブジェクトを持っていて、配列はArrayからそのプロトタイプメソッドを派生します。しかし、console.log(followObject)は私に0を与えます。
なぜか分かりますか?
@ Jonasw-nothing、now。 ;-) – RobG