如何使用持续时间的加载控制器
How to use the Loading Controller with duration
我有我的 LoadingController :
const loader = this.loadCtrl.create({
content: 'Loading ...',
duration: 5000
});
loader.present();
刚接到 api 电话后
myApi.Function().then(res => {
console.log(res);
}
我想在我的 api 通话结束时 dismiss
我的 LoadingController 或者 如果我的持续时间结束。
如何在持续时间后调用事件 loader.dismiss()
?
谢谢,
你可以使用 Promise.race()
:
The Promise.race()
method returns a promise that resolves or rejects
as soon as one of the promises in an iterable resolves or rejects,
with the value or reason from that promise.
const delayPromise = new Promise(resolve => window.setTimeout(() => resolve(), 3000));
const apiPromise = myApi.Function();
const loader = this.loadCtrl.create({
content: 'Loading ...',
});
loader.present();
Promise.race([delayPromise, apiPromise]).then(res => {
loader.dismiss();
if(res) {
// apiPromise finished first
} else {
// delayPromise finished first
}
});
我有我的 LoadingController :
const loader = this.loadCtrl.create({
content: 'Loading ...',
duration: 5000
});
loader.present();
刚接到 api 电话后
myApi.Function().then(res => {
console.log(res);
}
我想在我的 api 通话结束时 dismiss
我的 LoadingController 或者 如果我的持续时间结束。
如何在持续时间后调用事件 loader.dismiss()
?
谢谢,
你可以使用 Promise.race()
:
The
Promise.race()
method returns a promise that resolves or rejects as soon as one of the promises in an iterable resolves or rejects, with the value or reason from that promise.
const delayPromise = new Promise(resolve => window.setTimeout(() => resolve(), 3000));
const apiPromise = myApi.Function();
const loader = this.loadCtrl.create({
content: 'Loading ...',
});
loader.present();
Promise.race([delayPromise, apiPromise]).then(res => {
loader.dismiss();
if(res) {
// apiPromise finished first
} else {
// delayPromise finished first
}
});