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