我正在尝试使用 Angular实现Azure 计算机视觉识别文本 AI 。我需要从第一个 Http 调用的响应中找到一个特定的标头,然后调用第二个。但我找不到标题。你能帮我找到我在这里缺少的东西吗?你可以在下面的代码中看到我已经尝试过的东西。
async post(url: string): Promise<any> {
const body = {
url: url,
observe: 'response'
};
const options = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': config.api.apiKey,
'Access-Control-Expose-Headers': 'allow',
'resolveWithFullResponse': 'true',
'responseType': 'text'
})
};
const result = await this.http.post(config.api.baseUrl, body, options)
.subscribe(async (res: Response) => {
console.log(res);
const operationLocation = res.headers.get('Operation-Location');
return await this.http.get(operationLocation, options).toPromise();
});
return result;
}
我能够在浏览器网络中看到响应标头,但该res
对象始终为空。
Azure 文档说“服务已接受请求,稍后将开始处理。它将立即返回 Accepted 并包含“<em>Operation-Location”标头。客户端应使用此标头中指定的 URL 进一步查询操作状态. 操作 ID 将在 48 小时后过期。