'Observable <Object>'类型中不存在属性'concatMap'?

xai*_*oft 4 rxjs5 angular

我从Angular 4升级到5并替换HttpHttpClient.我从我的http.post调用中删除了链式地图,现在它返回了一个Observable<Object>,但是在我的组件中它现在正在抱怨concatMap does not exist on type Observable<Object>.这是我正在做的一个例子:

//service
import { HttpClient} from '@angular/common/http';

constructor(private _http: HttpClient) { }

registerDomain()
{

return this._http.post('/api/domain/domain/register', {});
}

//component
registerDomain(caseId,domain) {
    return this._domainService.registerDomain(caseId,domain)
      .concatMap(operation => this.getOperationDetail(operation.OperationId,this.caseId,domain))
      .concatMap(() => this.createRecordSets(domain));
  }
Run Code Online (Sandbox Code Playgroud)

我可以看到map和mergeMap Observable<Object>但不是concatMap

Luc*_*ult 7

尝试导入此:

import 'rxjs/add/operator/concatMap'

  • `import { concatMap } from 'rxjs/operators';` for **Angular 6** (2认同)

jre*_*elo 5

你需要使用管道

registerDomain(caseId,domain) {
    return this._domainService.registerDomain(caseId,domain)
      .pipe(
         concatMap(operation => this.getOperationDetail(operation.OperationId,this.caseId,domain))
         concatMap(() => this.createRecordSets(domain))
    );
  }
Run Code Online (Sandbox Code Playgroud)