解决组件不返回数据

Resolve not returning data to component

我有一个问题,解析数据在组件中显示为未定义。

下面是我的解析代码

export class MyResolve implements Resolve<any> {

  constructor(private dataServ: DataService) { }

  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<any> {

    return forkJoin([
      this.dataServ.getA(),
      this.dataServ.getB(),
      this.dataServ.getC()
    ]).pipe(map(response => {
      console.log(response)
      return response;
    })).toPromise().then(data => { console.log(data) });
      
      
    }
}

我可以在控制台看到数据。 但是当我使用组件中的数据时,它显示未定义

下面是组件

中的代码
var test = this._route.snapshot.data;
console.log(test);

哪里_route:ActivatedRoute

我也在路由模块中添加了解析。

请指导

你 return 使用 then 的 Promise。 then 应该 return 一个进一步使用的值,而你没有。因此,Promises 值在 then 之后未定义。

您可以简单地删除 then 或者您再次 return 该值。

    .then(data => { console.log(data); return data; }); // or remove this line