【发布时间】:2017-04-30 04:33:07
【问题描述】:
为什么 .map(() => x + 3) 与 .map((x) => x +3) 会产生两种不同的结果?
参见下面的代码 sn-p。我有以下代码 app.component.ts
obs = Observable.of(1, 2, 3, 4);
ngOnInit() {
this.usingMapToMakeInnerObservable();
}
usingMapToMakeInnerObservable() {
this.obs
.map(x => Observable.timer(500).map(() => x + 3)) // A. Output 4, 5, 6, 7
//.map(x => Observable.timer(500).map((x) => x + 3)) // B. Output 3, 3, 3, 3
.subscribe(
x => console.log(x),
err => console.error(err),
() => console.log('done completed')
);
}
【问题讨论】:
-
你也应该了解范围和闭包
标签: angular rxjs observable angular2-observables