繁体   English   中英

Angular TS1003 标识符预期在 throw import 语句中,我的错误源于从 'rxjs' 导入 throw

[英]Angular TS1003 Identifier expected on throw import statement, my error stems from the import of throw from 'rxjs'

我有这行代码

import { Observable, throw} from 'rxjs';

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

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

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

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

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

例子:

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

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

首先,标识符是您为变量、函数等提供的名称。它是它们的官方术语,并带有其中字符有效的规则。

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

let for;
// SyntaxError at `for`

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

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

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

throw是保留字,请尝试:

import { Observable } from 'rxjs';
import 'rxjs/add/observable/throw';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM