类型'Subscription'缺少类型'Observable <any>'中的以下属性:_isScalar,source,operator,lift和另外6个

时间:2019-11-30 17:59:33

标签: javascript angular typescript

我需要以角度8从拖曳api返回数据。

我创建了这个解析器:

export class AccessLevelResolve implements Resolve<any>{

constructor(private accessLevel: AccessLevelService) { }

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> {
    let id = +route.paramMap.get('id');

    const getControllerList = this.accessLevel.getAll().pipe(
        map(
            res => {
                if (res) {
                    return res.date;
                }
            }
        )
    )

    const getRoleAccessRole = this.accessLevel.getAllWithId(id).pipe(
        map(
            res => {
                if (res) {
                    return res.date;
                }
            }
        )
    )
   return forkJoin(getControllerList, getRoleAccessRole).subscribe(res => {
        return {
            controllerList: res[0],
            accessRoleList: res[1]
        }
    }
    )

}

但是它告诉我这个错误:

  

“预订”类型缺少“可观察”类型的以下属性:_isScalar,源,运算符,提升和另外6个。

是什么问题???我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您没有在解析器中订阅,您返回了可观察的订阅和角度订阅:

return forkJoin(getControllerList, getRoleAccessRole).pipe(map(res => {
    return {
        controllerList: res[0],
        accessRoleList: res[1]
    }
}))