Angular TS1003 Identifier expected on throw import statement,我的错误源于 throw from 'rxjs' 的导入

新手上路,请多包涵

我有这行代码

import { Observable, throw} from 'rxjs';

我得到了预期的错误标识符:

config/config.service.ts(3,22) 中的错误:错误 TS1003:需要标识符。

它表明错误源于该行/位置 22,这是 throw 字的开头。

我需要做什么才能解决这个问题?标识符是什么意思?

原文由 falcon-valley 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 821
2 个回答

首先, 标识符 是您赋予变量、函数等的名称。它是它们的官方术语,并带有关于哪些字符在其中有效的规则。

但是,在大多数情况下,标识符不能与 保留字 同名——语言本身使用的名称,例如控制结构( iffor 等) .

 let for;
// SyntaxError at `for`

throw 就是这样一个保留字,它表示引发自定义错误的语句,不能用作 import 定义的变量。

为了解决这个问题,您可以使用 as --- 为 rx.js’ throw 指定您自己的名称/标识符(别名)。

 const { Observable, throw as rxThrow } from 'rxjs';

原文由 Jonathan Lonowski 发布,翻译遵循 CC BY-SA 4.0 许可协议

我遇到了这个问题,希望解决同样的错误,但原因不同。以防其他人有同样的情况,我的问题是我将一些点符号引用转换为字符串符号,但忘了去掉这些点!

例子:

 // Started with ...
const variableName = someObject.dynamicPropertyName;
// Was changed to ...
const variableName = someObject.['dynamicPropertyName'];
// Instead of ...
const variableName = someObject['dynamicPropertyName'];

就我而言,这只是一个糟糕的查找替换问题。但我想有人在其他情况下也会遇到这个问题。

原文由 Wayne F. Kaskie 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题