类型错误: 无法读取未定义的属性"符号(符号.迭代器)"



当 Web 服务请求失败时,我收到以下异常。

TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined

具体来说,HTTP GET返回400 Wrong请求。

在这里,您可以找到所涉及的组件:

@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;
                });
            });
    }
}

有什么建议吗?

提前感谢!

我认为您错过了retryWhen的回报:

.retryWhen(error => {
  return error.delay(3000);
})

最新更新