离子4:loading.present不是函数

Var*_*eja 3 ionic-framework ionic4

Ionic 4,在使用加载程序时出错 loading.present is not a function

这是我的代码:

const loading =  this.loadingController.create({
  message: 'Loading',
});

loading.present();
Run Code Online (Sandbox Code Playgroud)

Var*_*eja 8

这是因为loadingController.create()是一个异步方法,并且在获取变量中的HTMLIonLoadingElement实例之前loading,您正在调用当前loading/present()未定义的。

因此,您需要等到调用时获取HTMLIonLoadingElement的实例。 loadingController.create()

解决方法:简单使用aync / await

const loading = await this.loadingController.create({
  message: 'Loading',
});
loading.present();
Run Code Online (Sandbox Code Playgroud)

看到我们await在=运算符之后使用。因此,它确保仅在调用loadingController.create完成且初始化变量加载后才执行下一行。

注意:不要忘记在使用加载程序代码的函数中添加async关键字,因为我们正在使用await。