Ole*_*Ole 9 javascript rxjs typescript angular-material angular
角度材料文档应用程序包含以下代码片段:
\n // Combine params from all of the path into a single object.\n this.params = combineLatest(\n this._route.pathFromRoot.map(route => route.params),\n Object.assign);\n
Run Code Online (Sandbox Code Playgroud)\nTSLint 删除了combineLatest
以下消息:
\n\n@deprecated \xe2\x80\x94 resultSelector 不再支持,改为通过管道映射
\n
应该如何解决?
\n另外,如果您了解所使用的技术,那么一个详细说明的简单示例将会很棒。
\n这是代码链接:
\n\ncombineLatest(observables, resultSelector)
Run Code Online (Sandbox Code Playgroud)
通常可以替换为
combineLatest(observables).pipe(
map(resultSelector)
)
Run Code Online (Sandbox Code Playgroud)
但这是否以同样的方式工作取决于您resultSelector
接受的参数。combineLatest(observables)
发出一个数组,当您使用已弃用的 resultSelector 时,RxJs 会自动扩展该数组。
return isArray(args) ? fn(...args) : fn(args); // fn is your resultSelector
Run Code Online (Sandbox Code Playgroud)
根据Object.assign
您提供的是数组还是多个值,返回不同的值,您必须手动扩展数组。
combineLatest(observables).pipe(
map(items => Object.assign({}, ...items))
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7639 次 |
最近记录: |