gpt4 book ai didi

javascript - 如何创建类来获取 javascript

转载 作者:行者123 更新时间:2023-12-02 20:57:07 26 4
gpt4 key购买 nike

我不会创建类来处理从 api 获取数据,请帮助我解决问题:

class Api{
static getAll(){
fetch("https://covid-193.p.rapidapi.com/statistics", {
"method": "GET",
"headers": {
"x-rapidapi-host": "covid-193.p.rapidapi.com",
"x-rapidapi-key": "c44a47562cmsh6ff0d107514bccfp146d00jsn876b11317ac5"
}
})
.then(function(response) {
return response.json()
})
.catch(function(err) {
console.log(err)
})
}
}

export default Api;

当我在 app.js 中调用 Api.getAll() 时,如下所示:

import Api from "./api.js"
console.log(Api.getAll())

它不控制台任何东西,只是控制台未定义。但如果我像这样在 .then() 内进行控制台

.then(function(response) {
console.log(response.json())

控制台的结果是

undefine
result json

如果我更改 key 以获取错误,.catch() 也不起作用。

谢谢

最佳答案

fetch 将返回一个 promise 。因此,您需要处理 Promise 来获取数据。

这是一个例子。

fetch("https://covid-193.p.rapidapi.com/statistics", {
"method": "GET",
"headers": {
"x-rapidapi-host": "covid-193.p.rapidapi.com",
"x-rapidapi-key": "c44a47562cmsh6ff0d107514bccfp146d00jsn876b11317ac5"
}
})
.then(function(response) {
return response.json()
})
.catch(function(err) {
// console.log(err)
}).then(data => console.log(data))

因此,在您的示例中,您需要处理返回的 promise ,例如:-

fetch("https://covid-193.p.rapidapi.com/statistics", {}) 之前添加 return,然后,

Api.getAll().then(data => console.log(data));

您可以在

找到有关 fetch API 的更多信息

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

关于javascript - 如何创建类来获取 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61451229/

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