Typescript TypeError:无法读取属性';Symbol(Symbol.iterator)和#x27;未定义的
当web服务请求失败时,我会遇到以下异常Typescript TypeError:无法读取属性';Symbol(Symbol.iterator)和#x27;未定义的,typescript,angular,rxjs,Typescript,Angular,Rxjs,当web服务请求失败时,我会遇到以下异常 TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined 具体来说,HTTP GET返回400个错误请求 在这里,您可以找到所涉及的组件: @Component({ selector: 'events-list', directives: [EventRow], changeDetection: ChangeDetectionStrategy.O
TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
具体来说,HTTP GET返回400个错误请求
在这里,您可以找到所涉及的组件:
@Component({
selector: 'events-list',
directives: [EventRow],
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [HTTP_PROVIDERS],
template: `
<table>
<tr *ngFor="let event of events | async" [event]="event" >
</tr>
</table>
`
})
export class EventsList implements OnInit {
events: Observable<Event[]>;
constructor(public http: Http) { }
ngOnInit(): void {
let obs;
this.events = Observable
.create((o) => {
obs = o;
obs.next();
})
.flatMap(() => {
return this.http.get('event/view');
})
.retryWhen(error => {
error.delay(3000);
})
.map((response: Response) => {
setTimeout(() => {
obs.next();
}, 10000);
return (<any>response.json()).map(item => {
return item;
});
});
}
}
@组件({
选择器:“事件列表”,
指令:[EventRow],
changeDetection:ChangeDetectionStrategy.OnPush,
提供者:[HTTP_提供者],
模板:`
`
})
导出类EventsList实现OnInit{
事件:可观察;
构造函数(公共http:http){}
ngOnInit():void{
让obs;
这个事件=可观察到的
.创建((o)=>{
obs=o;
obs.next();
})
.flatMap(()=>{
返回此.http.get('event/view');
})
.retryWhen(错误=>{
错误。延迟(3000);
})
.map((响应:响应)=>{
设置超时(()=>{
obs.next();
}, 10000);
return(response.json()).map(item=>{
退货项目;
});
});
}
}
有什么建议吗
提前谢谢 我想你错过了
retryWhen
:
.retryWhen(error => {
return error.delay(3000);
})
对。使用这种结构很难捕捉错误。谢谢