1
我想在使用Ionic加載控制器時有一些幫助,同時有多個http調用在異步函數中處理。離子3 - 異步Http調用和離子加載問題
首先,這是我與承諾
LoadDatafromUrls(urLs) {
return new Promise((resolve, reject) => {
let loader = this.loadingCtrl.create({
content: 'Son Bilgiler Alınıyor',
});
var urlCalls = [];
urLs.forEach((entry: any) => {
loader.present().then(()=>{
this.http.get(entry.url).map((response : Response)=>{
console.log(response.json());
urlCalls.push(response.json());
}).subscribe(()=>{
console.log("subscribe");
});
loader.dismiss();
})
})
Promise.resolve(urlCalls).then((res)=>{
console.log(res);
resolve(res);
},
(res)=>{
reject(res);
})
//return Promise;
})
}
其次,我把它用這種方式異步功能。
RequestObject.LoadDatafromUrls(urLs).then((results)=>{
console.log(results);
},
(errors)=>{
console.log(errors);
})
在該方法中,我有下面的錯誤消息:
錯誤消息: 「未捕獲(在承諾):removeView未找到」。而且,它並不以我期待的方式工作。
我真的很開放,以completely新的方法,新的方式。請分享,如果我能有更好的實施。
我想你上面提到的方式。我將編輯關於反饋的評論。謝謝 ! – ozercevikaslan
它只顯示自己像2-3秒,然後消失多少網址,因爲我把。此外,我只放入一個檢索12mb數據的網址,並且在2-3秒內可以獲取它,但它在2-3秒內再次消失。 – ozercevikaslan
的問題是,它得到的範圍內: Promise.resolve(urlCalls)。然後((RES)=> { 的console.log(RES); 解析(RES); loader.dismiss() }, (res)=> { reject(res); }) 當請求處於活動狀態時,我的意思是它的掛起或檢索數據。 它應該首先從調用中獲取數據,然後進入Promise.resolve函數......我很困惑爲什麼它在http調用結束之前到達那裏 – ozercevikaslan