Tom*_*ein 7 observable rxjs angular2-observables
我试图从一个压缩的 observables 数组中得到结果,这些压缩数组本身就是一个简单的 observables 数组的压缩包。如下:
a(x) {
const observables = [of(x), of(x+1)];
return zip(observables);
}
b() {
const observables = [a(1), a(2)];
return zip(observables);
}
Run Code Online (Sandbox Code Playgroud)
其余的代码被断言可以正常工作。实际上,当内部 a() 函数返回单个 observable(当然是对象数组,以反映 observable 的 zip)时,外部 zip 工作正常。然而,当使用内拉链时,内拉链内的代码永远不会被调用。
我在这里做错了什么?
ggr*_*nig 11
我在这个问题上花了多少小时..
尝试:
zip(...observables);
Run Code Online (Sandbox Code Playgroud)
必须传播该参数,否则您的数组将被视为ObservableInput,这可能不是所需的行为。
您可以将此函数作为用例的安全后备:
export function zipArray<T>(array: ObservableInput<T>[]): Observable<T[]> {
return array.length ? zip(...array) : of([]);
}
Run Code Online (Sandbox Code Playgroud)
并这样称呼它:
zipArray(observables)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |