如何在不使用 promise 的情况下使用 loadingController?
how to use loadingController without using promise?
我正在使用使用 promise 的加载控制器,但有些加载程序会关闭,但有时它不会在 Ionic 4 中关闭。
如何在 ionic 4 中使用 observable 或 behavior subject 加载控制器?
我试过网上的各种link,问题都是一样的,有时不会消失。
我的代码在这里:-
Loaderservice.ts
isLoading = false;
constructor(private loadingCtrl:LoadingController) {}
async present(){
this.isLoading = true;
return await this.loadingCtrl.create({}).then(a=>{
a.present().then(()=>{
if(!this.isLoading){
a.dismiss().then(()=>console.log('abort presenting'));
}
});
});
}
async dismiss(){
this.isLoading = false;
return await this.loadingCtrl.dismiss().then(()=> console.log('dismissed'));
}
homepage.ts
getHomePage() {
this.loadingService.present();
let variationLatestProductsPriceArray = [];
this.homepageService.getHomePageData().subscribe(response => {
this.homePageModel = response['data'];
let checkAddress = this.homePageModel["address"];
if (checkAddress == true){
console.log("address Saved");
localStorage.setItem('newUser', 'true');
} else {
console.log("address not Saved");
localStorage.setItem('newUser', 'false');
}
console.log("latestProducts", this.latestProducts);
this.bannerList = this.homePageModel["slider"];
this.loadingService.dismiss();
}, (err) => {
console.log(err);
this.alert.myAlertMethod("OOPS ! NO INTERNET Please check your network connection.", err.error.message, data => {
console.log("hello alert")
});
this.loadingService.dismiss();
},()=>{
this.loadingService.dismiss();
});
}
有时它工作正常并正确关闭它但有时它不会关闭。
我最近 5 天一直在调查这个问题。
重写当前函数:
async present(){
return await this.loadingCtrl.create({});
}
将 getHomePage 函数修改为:
getHomePage() {
this.loadingService.present().then(event => {
event.present();
-----
event.dismiss();
})
}
我想你会有所帮助。
我正在使用使用 promise 的加载控制器,但有些加载程序会关闭,但有时它不会在 Ionic 4 中关闭。 如何在 ionic 4 中使用 observable 或 behavior subject 加载控制器?
我试过网上的各种link,问题都是一样的,有时不会消失。
我的代码在这里:- Loaderservice.ts
isLoading = false;
constructor(private loadingCtrl:LoadingController) {}
async present(){
this.isLoading = true;
return await this.loadingCtrl.create({}).then(a=>{
a.present().then(()=>{
if(!this.isLoading){
a.dismiss().then(()=>console.log('abort presenting'));
}
});
});
}
async dismiss(){
this.isLoading = false;
return await this.loadingCtrl.dismiss().then(()=> console.log('dismissed'));
}
homepage.ts
getHomePage() {
this.loadingService.present();
let variationLatestProductsPriceArray = [];
this.homepageService.getHomePageData().subscribe(response => {
this.homePageModel = response['data'];
let checkAddress = this.homePageModel["address"];
if (checkAddress == true){
console.log("address Saved");
localStorage.setItem('newUser', 'true');
} else {
console.log("address not Saved");
localStorage.setItem('newUser', 'false');
}
console.log("latestProducts", this.latestProducts);
this.bannerList = this.homePageModel["slider"];
this.loadingService.dismiss();
}, (err) => {
console.log(err);
this.alert.myAlertMethod("OOPS ! NO INTERNET Please check your network connection.", err.error.message, data => {
console.log("hello alert")
});
this.loadingService.dismiss();
},()=>{
this.loadingService.dismiss();
});
}
有时它工作正常并正确关闭它但有时它不会关闭。 我最近 5 天一直在调查这个问题。
重写当前函数:
async present(){
return await this.loadingCtrl.create({});
}
将 getHomePage 函数修改为:
getHomePage() {
this.loadingService.present().then(event => {
event.present();
-----
event.dismiss();
})
}
我想你会有所帮助。