0
我正在研究一個片段,我必須從不同城市的API獲取json數據並構建DOM。數組承諾
到目前爲止,我已經能夠做到這一點。唯一的問題是不同城市的API響應時間不同。所以,當我構建DOM時,它們與我稱之爲函數的順序不同。從我記得我需要使用諾言來得到它的順序。 我現在的問題是:
- 如何使用承諾數組(因爲我的輸入會有所不同)。
- 另外我該如何執行一組promise?到目前爲止
我的工作代碼:
var base_path = "https://www.example.com/";
var cities = [
"San_Francisco",
"Miami",
"New_Orleans",
"Chicago",
"New_York_City"
];
function getData(city){
var path = base_path+city+".json";
$.getJSON(path,function(data) {
// build DOM
});
}
for(var i=0;i<cities.length;i++) {
getData(cities[i]);
}
謝謝!
請注意 - 「如果任何傳入的承諾被拒絕,Promise.all異步拒絕拒絕承諾的價值,而不管其他承諾是否已經解決。」 – dimacpp