gpt4 book ai didi

javascript - 努力用异步等待包装 promise

转载 作者:行者123 更新时间:2023-11-30 09:27:14 24 4
gpt4 key购买 nike

我得到了意外的标识符,但不确定是什么错误。我正在使用 fetch 这已经是一个 promise 。

async getUsers = () => {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())

return resp
}

getUsers().then(users => console.log(users))

最佳答案

注意 async 关键字的位置:

不是:

async getUsers = () => {

但是:

getUsers = async () => {

运行:

getUsers = async () => {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
return resp;
};

getUsers().then(users => console.log(users))

根据评论:

Should I chain then() in getUsers()? async/await suppose to eliminate then() am I right?

是的,你可以await任何Promise。或者有时同时使用 .then() 而在其他情况下使用 await (就像上面的代码一样)。但是您也可以只是使用async/await

下面的例子没有使用.then():

getUsers = async () => {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1')
return resp.json();
};

(async () => {
// notice to use the await keyword, the code must be wrapped in an async function
const users = await getUsers();
console.log(users);
})();

关于javascript - 努力用异步等待包装 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48662227/

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