details.features.has не является функцией
Я использую 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 не является функцией
1 ответ
Существует вероятность того, что объект, который вы получите в своей подписке (далее), не пройдет как файл . Затем вы говорите машинописному тексту, чтобы он рассмотрел ваш
features
как , и делая это, вы открываете свой код для таких исключений во время выполнения.
Если нет возможности получить фактический объект в вашей подписке, вам придется создать набор, содержащий ваши данные, или настроить свою логику так, чтобы она не зависела от
Set
метод.