我有意想不到的标识符,但不确定是什么错误。我使用fetch已经是一个承诺了。
async getUsers = () => {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
return resp
}
getUsers().then(users => console.log(users))
答案 0 :(得分:3)
请注意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))
根据评论:
我应该在
then()
中链接getUsers()
吗?async
/await
我想要消除then()
我是对吗?
是的,您可以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);
})();
答案 1 :(得分:1)
除了@acdcjunior指出的异步词中的拼写错误之外,你还要将async / await
与通常的承诺处理(.then()
)混合在一起,这是没有错的,但却有点失败。仅使用async / await
看起来像:
const getUsers = async () => {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1');
return resp.json();
}
async function fetchUsers() {
try {
const users = await getUsers();
console.log(users);
} catch(err) {
console.log(err);
}
}
fetchUsers();

答案 2 :(得分:0)
你的语法错误:
const getusers = async () => {
...
}
const
是可选的
答案 3 :(得分:0)
你声明你的功能的语法是错误的,这里有一些解释。
如果getUsers
是反应组件类的方法,则语法应为:
getUsers = async () => {
const resp = await fetch(
'https://jsonplaceholder.typicode.com/posts/1'
).then(response => response.json());
return resp;
};
或:
async getUsers() {
const resp = await fetch(
'https://jsonplaceholder.typicode.com/posts/1'
).then(response => response.json());
return resp;
};
如果它位于react组件类之外或无状态箭头功能组件中,则可以使用以下语法:
const getUsers = async () => {
const resp = await fetch(
'https://jsonplaceholder.typicode.com/posts/1'
).then(response => response.json());
return resp;
};
答案 4 :(得分:0)
const getUsers = async () => {
try {
const resp = await fetch('https://jsonplaceholder.typicode.com/posts/1');
return resp.json();
} catch(e) {
console.error(e)
}
}
(async () => {
const users = await getUsers();
console.log(users)
})()
使用此功能,然后运行