我目前正在学习如何使用ES8的提取、异步和等待--我目前有以下代码:
const url = "https://api.icndb.com/jokes/random";
async function tellJoke() {
let data = await (await fetch(url)).json();
return data.value.joke;
}
tellJoke().then(data => console.log(data));控制台:
"Chuck Norris can dereference NULL."但是我发现了一个使用箭头函数的片段,问题是我不知道如何以我在当前示例中所做的方式返回我的值。
片段:
const fetchAsync = async () =>
await (await fetch(url)).json()如果这不是最好的做法,也欢迎任何进一步的阅读。
发布于 2017-08-23 07:22:14
您可以再次使用与以前相同的方法来缩短通常的时间。
async function tellJoke() {
let response = await fetch(url);
let data = await response.json();
return data.value.joke;
}为你的实施干杯。作为一条单线线,它可以是这样的:
const tellJoke = async () => (await (await fetch(url)).json()).value.joke;发布于 2017-08-23 07:19:30
在函数中使用相同。如果代码中没有body表达式(witout {}),它将返回语句的结果。在本例中,是await (await fetch(url)).json().value.joke的结果。
const fetchAsync = async () => (await (await fetch(url)).json()).value.joke;或者多线身体。使用body表达式{},您需要显式地返回简单函数中的内容。
const fetchAsync = async () => {
const result = await fetch(url);
const data = await result.json();
return data.value.joke;
}https://stackoverflow.com/questions/45833061
复制相似问题