gpt4 book ai didi

Angular 解析函数依赖于其他解析器

转载 作者:太空狗 更新时间:2023-10-29 19:26:12 35 4
gpt4 key购买 nike

在 Angular 应用程序中,甚至在我加载主页之前,我想从后台获取数据。但即使在我从后端获取数据之前,我也需要向用户发送国家名称。

所以,现在数据调用取决于第一个解析器调用。这种情况怎么处理?

这是我的代码:

import { Routes} from '@angular/router';
import { HomeComponent } from '../pages/home/home.component';
import { ResolveService } from '../shared/service/resolve.service';
import { ResolveCountryService } from '../shared/service/resolve-country.service';

export const AppRoutes:Routes = [

{path:"", component: HomeComponent, resolve:{ country : ResolveCountryService, data:ResolveService} }

]

此处 ResolveCountryService 必须将国家名称共享给 ResolveService 那么管理它的正确方法是什么?

更新

如果我这样做:

export const AppRoutes:Routes = [

{path:"", component: HomeComponent, resolve:{ country : ResolveCountryService, resolve : {data:ResolveService } } }

]

我收到一个错误:

src/app/shared/service/resolve-country.service"' has no exported member 'ResolveCountryService'.

最佳答案

您可以使用 async and await如图this plunkr

例如,您将拥有一个 async 方法,该方法将返回具有所需结果的 promise (这将是您在执行任何其他操作之前要等待的第一个调用)。

然后你可以在另一个async方法中调用它并await它。(如果需要,您可以在 try/catch 中等待它)。

在您的情况下,ResolveCountryService 将等待检索用户所在国家/地区的方法。

注意:await 仅适用于 promise,但您可以在 async 方法中解析一个可观察对象,该方法将 promise 返回给 await

关于 Angular 解析函数依赖于其他解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50062673/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com