在我的解析器中,我try 注入两个服务,其中一个服务的响应作为下一个服务调用的输入:

export const addressResolver : ResolveFn<Address> = (
  route: ActivatedRouteSnapshot
) => {

  return inject(UserService).getUserInfo().pipe(
    mergeMap((user: any) => {
      return inject(AddressService).getAddressByUserId(route.params['addressType'], user.id).pipe(
        map((res:any)=>{
           return res;
        }
      ));
    })
  );
};

此代码将错误抛出为

错误:NG0203:inject()必须从 注入上下文,如构造函数、工厂函数、字段 初始化器,或与 EnvironmentInjector#runInContext

任何人都可以帮助这个代码块中缺少的东西.thanks in advance

推荐答案

你能试着把它们分配给变量然后执行调用吗?

export const addressResolver : ResolveFn<Address> = (
  route: ActivatedRouteSnapshot
) => {
  const userServiceInjector = inject(UserService);
  const addressServiceInjector = inject(AddressService);
  return userServiceInjector.getUserInfo().pipe(
    mergeMap((user: any) => {
      return addressServiceInjector.getAddressByUserId(route.params['addressType'], user.id).pipe(
        map((res:any)=>{
           return res;
        }
      ));
    })
  );
};

Angular相关问答推荐

我使用Ngrx的子集 Select 器不起作用

Angularmaterial 中的处理mat—radio—button表单值访问器

具有多重签名的Angular Mocking Service

带输入的单位测试Angular 分量.需要

图像未显示在视图屏幕上-Angular 投影

react 形式之间的循环关系

如何在独立应用程序中全局禁用基于媒体查询的Angular 动画?

获取 Angular 中所有子集合 firestore 的列表

有角.服务.模块构建失败.无法读取未定义的属性(读取文件)

相同的 Angular 代码在生产环境中停止工作

Angular AuthGuard:不推荐使用 CanActivate 和 CanActivateChild.如何更换它们?

异步管道模板中的局部变量(Angular 2+)

ng test 和 ng e2e 之间的真正区别是什么

在 RxJS Observable 中 flatten数组的最佳方法

Angular 2 中的 OnChanges 和 DoCheck 有什么区别?

Angular 5 测试:如何获取对子组件的引用

Angular 2 可用的 yeoman 生成器

单元测试错误:无法从同步测试中调用 Promise.then

如何使用无头浏览器运行测试?

如何将从后端渲染的参数传递给angular2 bootstrap 方法