javascript - 使用 http 客户端从服务器获取值并将其用于后续步骤
问题描述
我有一个如下函数,我需要调用服务器并获取函数返回的值。我正在使用 rxjs 订阅。我得到了值,但由于 rxjs 是异步的,因此函数在从服务器获取值之前返回。下面是一个伪代码来解释我想要做什么:
..
let myValue = getValue();
private getValue(): string {
let val = '';
this.httpClient.get('/server url', { observe: "response" }).subscribe(res => {
val = res.headers.get('X-Some-Header-Name');
});}
return val;
}
..
我知道 susbscribe 会立即返回,因此函数 getValue 不会从服务器返回值。有没有一种方法可以使函数仅在可观察返回时才返回值?
解决方案
正如@satanTime 在他的回答中已经指出的那样,您应该使用返回的Observable
那个HttpClient
。
然后,您还可以使用pipemyValue
在模板中使用,例如:async
<p>{{myValue | async}}</p>
推荐阅读
- node.js - 如何发布到复杂 mongoDb 模式中的嵌套字段
- c# - 在 .NET Core 项目中使用 .NET Framework 类库
- mapstruct - 如何将派生列表添加到模型对象
- javascript - 将属性和方法移至 Web API 中的其他接口有什么实际意义?
- jpeg - Forge Viewer 中不显示 BIM 模型中的图片(JPEG 文件)
- android - Android Studio Flutter 项目中未显示颜色工具提示
- html - 如何发送带有一些参数的 GET 请求?
- python - 连续移动矩形后达到的 Tkinter 最大递归深度
- c++ - 如何在 Boost 中访问现有图的子图
- python - 如何通过列表工作并将字符串用作新列表的名称?