首页 > 解决方案 > 如何基于响应对象创建条件,其键值依赖并避免 object.key() 未定义

问题描述

我正在使用 typescript 订阅 Angular 中的一个方法,这是一个简单的 post Call,它返回一个完整的 HTTP 响应。我想创建一个简单的条件来检查 HTTP 响应中是否存在某个键。条件将适用于包含键的对象,但对于不包含键的对象,它会抛出未定义的。

有没有办法忽略抛出的错误或异常并继续到 else 部分

如果用户包含一个数字,则添加对象主体的键,否则它不存在 PhoneNumber 键值

我尝试过/翻转了 if 和 else

this.postMyName(userInfo).subscribe(
   (result:Response) => {
    if (result['body']['user'].hasOwnProperty(['PhoneNumber'])) {
        console.log("User has included a phoneNumber");
     } else {
           console.log("User has Not included a phoneNumber");
     }

    },error ...)

标签: javascriptarraysangulartypescriptobject

解决方案


您也可以尝试此解决方案,也许它会起作用

this.postMyName(userInfo).subscribe(
   (result:Response) => {
    if ('PhoneNumber' in result['body']['user'])) {
        console.log("User has included a phoneNumber");
     } else {
           console.log("User has Not included a phoneNumber");
     }

    },error ...)

推荐阅读