gpt4 book ai didi

javascript - 如何在外部使用 Angular 6 subscribe() 方法的结果?

转载 作者:行者123 更新时间:2023-12-02 22:22:31 25 4
gpt4 key购买 nike

我正在尝试创建一个仅包含几个网址的 config.json 文件并读取服务中的数据。

.../.../assets/config.json

{
"registration" : "localhost:4200/registration"
"login" : "localhost:4200/login"
}

../services/config.service.ts

export class ConfigService {
result;
configUrl = '../../assets/config.json';

constructor(private http: HttpClient) {}

getConfig() {
return this.http.get(this.configUrl).subscribe((data) => { this.result = data });
}
}

在特定的 login.service.tsregistration.service.ts 中,我调用 getConfig() 来处理特定的 url。问题是,在此服务中,返回值未定义,但我需要 subscribe/getConfig 方法的结果。

现在我花了大约 3 个小时寻找解决方案,但随着阅读的深入,我确实变得更加困惑,所以我想寻求帮助。

我看到了带有.map()方法的解决方案(但我猜这个方法已经不存在了),带有“Promises”,带有导出接口(interface),但没有任何效果。

../registration.service.ts 的示例

export class RegistrationService {

private api_url;

constructor(private http: HttpClientModule, private cs: ConfigService) {
this.api_url = this.cs.getConfig();
}
}

最佳答案

您的配置服务:

getConfig() {
return this.http.get(this.configUrl).toPromise();
}

您的注册服务:

async exampleMethod() {
try {
this.api_url = await this.cs.getConfig();
console.log(this.api_url);
} catch(e) {
throw Error(e);
}
}

关于javascript - 如何在外部使用 Angular 6 subscribe() 方法的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59182085/

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