gpt4 book ai didi

javascript - Typescript:如何在返回 Promise 响应的方法内构建 fetch API 调用

转载 作者:行者123 更新时间:2023-12-01 03:55:46 25 4
gpt4 key购买 nike

也许这是一个微不足道的问题,但我对 Typescript 和 fetch API 很陌生。在导出的类中,我有一个公共(public)方法remoteFetchSomething,例如:

export class className {
remoteFetchSomething = (url : string) : Promise<Response> => {
return fetch(url)
.then(
(r) => r.json()
)
.catch((e) => {
console.log("API errore fetching " + objectType);
});
}
}

export const classInstance = new className();

该方法查询远程 JSON API 服务,在代码中,我使用它的方式如下:

import { classInstance } from ...

classInstance.remoteFetchSomething('https://example.url')
.then((json) => {
console.log(json);
}
)

console.log 实际上显示了结果,但 remoteFetchSomething 返回了 Promise,我无法解析和访问 JSON对象值。

我想在执行剩余代码之前等待响应,但是如何从 Promise 中解开内容?我应该再次放置另一个 .then 吗?我缺少什么?

谢谢。

最佳答案

现在我解决了定义 remoteFetch 返回类型的问题如any :

remoteFetchSomething = (url : string) : any => {
return fetch(url)
.then(
(r) => r.json()
)
.catch((e) => {
console.log("API errore fetching " + objectType);
});
}

现在我可以访问 JSON 值,例如 data如下:

classInstance.remoteFetchSomething('https://example.url').then(
(json) => {
console.dump(json.data);
}
)

[真诚地仍然不清楚为什么我不能'使用 Promise<Response>类型]

关于javascript - Typescript:如何在返回 Promise 响应的方法内构建 fetch API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42691436/

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