- 此问题在此处已有答案**:
(41个答案)
5小时前关门了。
- 我想要一个函数,使用fetch api从给定的url返回一个json**(如果你有更好的API选项,请告诉我,因为我还在学习promise等)
- 我尝试过**
// [1] with await, I couldn't return, just print on the console
// what needs to change to be able to return instead of printing???
function displayJson1(url) {
async function getJsonPromise(url) {
const response = await fetch(url);
const promise = response.json(); // should i put an await here?? the result was the same
return promise;
}
const promise = getJsonPromise(url);
promise.then((data) => console.log(data));
}
// [2] with .then, I couldn't return, just print on the console
// what needs to change to be able to return instead of printing???
function displayJson2(url) {
const fetchPromise = fetch(url);
fetchPromise
.then((response) => response.json())
.then((data) => console.log(data))
}
在这两种情况下,我都尝试替换
console.log(data)
作者
let json;
json = data;
return json;
但由于某种原因,它没有工作,如果你也能向我解释为什么json = data
没有工作,我将不胜感激。
- 我期望/希望发生的事情:**返回JSON(使用fetch API,使用then或await,如果你能告诉我如何让这两个函数返回一个使用这两种语法的JSON,那就更好了!)
- 实际结果:**两个函数
displayJson1
和displayJson2
都打印JSON(实际上我只想返回JSON)
- 实际结果:**两个函数
简而言之,我需要getJson1
(使用await)和getJson2
(使用. then)函数,而不是displayJson1
和displayJson2
函数
1条答案
按热度按时间bpzcxfmw1#
只需编写一个函数,不需要编写两个函数。
当你调用函数的时候,就像下面这样。