gpt4 book ai didi

javascript - typescript 在http请求上设置返回类型的正确方法

转载 作者:行者123 更新时间:2023-11-30 19:10:18 24 4
gpt4 key购买 nike

假设我有以下功能:

getImageText(base64Image) {
const body = {
"requests": [
{
"image": {
"content": base64Image
},
"features": [
{
"type": "TEXT_DETECTION"
}
]
}
]
};
return this.http.post('https://vision.googleapis.com/v1/images:annotate?key=' + environment.googleCloudVisionAPIKey, body);
}

现在,当此操作成功时,它会返回以下内容:{responses: [], text:'' }所以简而言之,它返回一个带有response arraytext string

的对象

现在我的第一次尝试是设置以下返回类型:

 getImageText(base64Image): Observable<{ responses: any, text: any }> 

但是我不确定这是不是正确的做法。

我的控制台也给我一个错误。当这个 promise 返回错误时会发生什么,然后对象就不同了。

所以我的问题是在使用 http/promises

的方法上创建返回类型的正确方法是什么

最佳答案

您的方法 getImageText(base64Image) 可能会返回一个 Observable。但是,您当前的实现没有返回一个。您可以将 promise 转换为 observable。

getImageText(base64Image): Observable<{ responses: any, text: any }>  {
const body = {
"requests": [
{
"image": {
"content": base64Image
},
"features": [
{
"type": "TEXT_DETECTION"
}
]
}
]
};
return from(this.http.post('https://vision.googleapis.com/v1/images:annotate?key=' + environment.googleCloudVisionAPIKey, body));
}

然后你可以在需要的地方订阅这个方法。

function DoSomethingWithTheResponse(){
getImageText(yourBase64Image).subscribe(
value => {
//do something with the value
});
}

关于javascript - typescript 在http请求上设置返回类型的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58555903/

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