Ложный или пустой объект, если условие не работает под углом 5 - PullRequest
0 голосов
/ 13 ноября 2018

Я получаю ложь в ответ от API. Если я console.log результат, то он показывает {}. Что я хочу сделать, это если ответ ложный, а затем перенаправить на домашнюю страницу. Но ложное условие не работает. Ниже мой код:

this.sub = this.route.params.subscribe(params => {
    this.token = params['Token'];
    this.common.createAPIService('api/users/recoverpassword/ValidateLink?Token=' + this.token + '', '').subscribe((result: any) => {

        console.log(result);
        if (!result || result == {} || result == false) {
            this.common.ShowNotification("Change Password", "Invalid Request", "error");
            // setTimeout(function () {
            //     window.location.href = "#";
            // }, 3000);
            console.log(12);
            this.zone.run(() => this.router.navigateByUrl("/home/" + "Mumbai"));
        }
    });
});

Я пытался !result, {}, даже result == false, но это не работает. Предупреждение в состоянии или console.log не приходит. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

В Javascript вы должны проверить, правдива ли она или ложна в вашем состоянии

См. https://developer.mozilla.org/en-US/docs/Glossary/Truthy

0 голосов
/ 13 ноября 2018

Используйте === вместо ==

 if (!result || result === {} || result === false) {
                    this.common.ShowNotification("Change Password", "Invalid Request", "error");
                    // setTimeout(function () {
                    //     window.location.href = "#";
                    // }, 3000);
                    console.log(12);
                    this.zone.run(() => this.router.navigateByUrl("/home/" + "Mumbai"));
                }

Более подробно вы можете сослаться на это == vs ===

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...