【发布时间】:2019-02-28 09:43:36
【问题描述】:
我正在开发一个 Angular 6 项目。
运行 ng lint 会给出以下警告:
“不推荐使用forkJoin:不推荐使用resultSelector,改为使用管道映射”
forkJoin(...observables).subscribe(
有什么想法吗?似乎找不到有关此弃用的任何信息。
我刚刚使用 Angular CLI:6.1.5 生成了一个全新的 Angular 应用程序“ng new forkApp”
来源:
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { forkJoin } from 'rxjs';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'forkApp';
constructor(private http: HttpClient) {}
ngOnInit() {
console.log('ngOnInit...');
const obs = [];
for (let i = 1; i < 4; i++) {
const ob = this.http.get('https://swapi.co/api/people/' + i);
obs.push(ob);
}
forkJoin(...obs)
.subscribe(
datas => {
console.log('received data', datas);
}
);
}
}
package.json 文件中的“依赖项”部分:
"dependencies": {
"@angular/animations": "^6.1.0",
"@angular/common": "^6.1.0",
"@angular/compiler": "^6.1.0",
"@angular/core": "^6.1.0",
"@angular/forms": "^6.1.0",
"@angular/http": "^6.1.0",
"@angular/platform-browser": "^6.1.0",
"@angular/platform-browser-dynamic": "^6.1.0",
"@angular/router": "^6.1.0",
"core-js": "^2.5.4",
"rxjs": "^6.0.0",
"zone.js": "~0.8.26"
},
一旦完成所有三个 GET 请求,我就会在“datas”数组中获取所有数据。
问题是,一旦我运行:ng lint 我得到了这个:
C:\forkApp>ng lint
警告:C:/forkApp/src/app/app.component.ts[26, 5]: forkJoin 是 不推荐使用:不推荐使用 resultSelector,改为使用管道映射
【问题讨论】:
-
当我谷歌 'angular 6 forkjoin depretricated' metaltoad.com/blog/angular-6-upgrading-api-calls-rxjs-6 时的第一个链接。这是 rxjs github 的链接,执行 ctrl + f 'forkjoin' ,您将看到警告 github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/… 建议的管道场景
-
我已经在使用 rxjs6 和 angular6 所以没有什么像: Observable.forkJoin( -> 被转换成 forkJoin( 我的导入也是这样的: import { forkJoin } from 'rxjs'; 和项目没有使用rxjs-compat, package.json("rxjs": "^6.2.2",)
-
@rhavelka:那个管道是新的,会检查一下,谢谢反馈
-
请发布整个代码,包括导入。对于
rxjs,它们非常重要 -
@undefinedMayNotBeNull 刚刚用完整源代码更新了我的问题。如果您需要任何其他信息,请告诉我,感谢您的反馈。