English 中文(简体)
不存在关于批号的不动产法
原标题:Property code does not exist on type Error

How can I access the Error.code property? I get a Typescript error because the property code does not exist on type Error .

this.authCtrl.login(user, {
   provider: AuthProviders.Password,
   method: AuthMethods.Password
}).then((authData) => {
    //Success
}).catch((error) => {
   console.log(error); // I see a code property
   console.log(error.code); //error
})
最佳回答

真正的问题是,Node.js的定义档案是没有出口适当的Error定义的。 它对Error(并且没有出口):

interface Error {
    stack?: string;
}

该公司出口的实际定义是:

export interface ErrnoException extends Error {
    errno?: number;
    code?: string;
    path?: string;
    syscall?: string;
    stack?: string;
}

因此,以下类型的广播将发挥作用:

.catch((error: NodeJS.ErrnoException) => {
    console.log(error);
    console.log(error.code);
})

这似乎与诺德定义中的一个缺陷一样,因为它与新埃rror(Error)的物体实际包含的内容相近。 原型将强制执行接口误差定义。

问题回答

你们必须从捕获量(即捕获量)中排出一种差错。

.catch((error:any) => {
    console.log(error);
    console.log(error.code);
});

或者你能够以这种方式直接获取法典财产

.catch((error) => {
    console.log(error);
    console.log(error[ code ]);
});

https://stackoverflow.com/a/49562477>。 造成这一问题的原因是,在打字包中的定义不完整(见module Declaration来申报失踪财产。 可以通过将以下守则列入@types/global.d.ts文档来做到这一点。

declare interface Error {
  name: string
  message: string
  stack?: string
  code?: number | string
}

我与打字体有同样的接触。

“Error .ts(2339)没有财产法,”它表明,型号不承认代码为标准Error物体的财产。

为了处理这种情况,即延伸了包括密码财产在内的海关接口的Error型。

“在此处的影像描述”/</a

export default class ResponseError extends Error {
    code: number;
    message: string;
    response: {
        headers: { [key: string]: string; };
        body: string;
    };
}




相关问题
Angular matSort not working on Date column by desc

Trying to sort the material table with date column , date format is MM/DD/YYYY ,h:mm A , order of date is not by latest date and time. Anything which i missed from the below stackblitz code. https:/...

热门标签