我需要帮助在获取函数之外获取数据。
const getSpecies = (URL) => {
fetch(URL)
.then(response => response.json())
.then(data =>{
console.log(data.name);
})
}
我正在从 API 获取数据以获得一个值。我不知道如何将此值作为函数值返回。我总是得到一个未定义的或
[Promise object]
。我这样尝试过:
const getSpecies = async (URL) => {
const data = await fetch(URL);
const resoult = await data.json();
const species = resoult.name;
console.log(species);// value of name
return species
}
我还尝试使用一些回调函数并在所有地方返回。
我在理解异步 JS 方面仍然存在问题。这就是为什么我需要帮助。
async-await 始终返回一个承诺,即使它什么也不返回。
无论您在哪里使用 getSpecies() 函数,请在其后执行
.then()
来获取数据。
getSpecies.then(data=>{console.log(data)})
在第一种情况下你已经做对了。您只需返回数据即可:)
const getSpecies = (URL) => {
fetch(URL)
.then(response => response.json())
.then(data =>{
console.log(data.name); // This should get the data here and you can return it here
return data;
})
}
如果您的 URL 响应正确,那么上面的代码应该可以正常工作。