details.features.has 不是函数
details.features.has is not a function
我正在使用 angular 13 和 es2021(也尝试过 es6 添加 2018)
tsconfig.lib.json
...
"lib": ["dom", "es2021"]
...
我有以下对象。
export interface UserDetails {
...
features?: Set<UserFeature>;
...
}
我正在尝试检查以下一些值:
this.sessionQuery.details$.subscribe((details: UserDetails) => {
const enableFF = details.features && (details.features as Set<UserFeature>).has({ feature: 'enableFF ', enabled: true });
...
});
IDE 上没有问题,但我在浏览器上遇到以下问题:
core.mjs:6495 ERROR TypeError: details.features.has is not a function
您在订阅(下一个)中收到的对象有可能没有通过 features
作为 Set
。然后你告诉 typescript 将你的 features
视为 Set
,并且这样做,你为此类运行时异常打开你的代码。
如果无法在您的订阅中接收实际的 Set
对象,您将不得不实例化一个包含您的数据的集合或调整您的逻辑以不依赖于 Set
方法。
我正在使用 angular 13 和 es2021(也尝试过 es6 添加 2018)
tsconfig.lib.json
...
"lib": ["dom", "es2021"]
...
我有以下对象。
export interface UserDetails {
...
features?: Set<UserFeature>;
...
}
我正在尝试检查以下一些值:
this.sessionQuery.details$.subscribe((details: UserDetails) => {
const enableFF = details.features && (details.features as Set<UserFeature>).has({ feature: 'enableFF ', enabled: true });
...
});
IDE 上没有问题,但我在浏览器上遇到以下问题:
core.mjs:6495 ERROR TypeError: details.features.has is not a function
您在订阅(下一个)中收到的对象有可能没有通过 features
作为 Set
。然后你告诉 typescript 将你的 features
视为 Set
,并且这样做,你为此类运行时异常打开你的代码。
如果无法在您的订阅中接收实际的 Set
对象,您将不得不实例化一个包含您的数据的集合或调整您的逻辑以不依赖于 Set
方法。