首页 > 解决方案 > 无法在错误块中读取警报对话框

问题描述

如果登录不成功,我想显示警报对话框,但它不起作用。我在我的代码中做错了什么吗?

login(params) {
    this.presentLoader();

    return this.http
        .post(`${this.base_url}/login`, new HttpParams({
            fromObject: {
                'username': params.username,
                'password': params.password,
            }
        }))
        .subscribe((response: any) => {
                this.loader.dismiss();
                this.storage.set('access_token', response.access_token);
                this.storage.set('user_id', response.id);
                this.storage.set('username', params.username);
                this.storage.set('email', response.email);
                this.authState.next(true);
                //other codes

            },
            (error) => {
                this.presentError('Uh oh, Login failed!. Please try again');
            },
            () => {
                this.loader.dismiss();
            }
        );
}

private async presentLoader() {
    this.loader = await this.loadingCtrl.create({
        message: 'pls wait',
    });
    await this.loader.present();
}

private async presentError(message) {
    const alert = await this.alertCtrl.create({
        message: message,
        buttons: ['OK']
    });
    await alert.present();
}

我认为它没有读取错误块中的所有内容,但是如果我将警报对话框放在 loader.dismiss 下它可以工作

标签: angularionic-frameworkionic4

解决方案


推荐阅读