我认为我对它的理解可能会受到我对.NET的经验的影响async/await
,所以我想要一些代码示例:
我试图让一个快速控制器在返回响应之前等待 5 秒:
const getUsers = async (ms) => {
var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
await wait(ms);
};
export const index = (req, res) => {
async () => {
await getUsers(5000);
res.json([
{
id: 1,
name: 'John Doe',
},
{ id: 2,
name: 'Jane Doe',
},
]);
};
};
此代码不起作用,浏览器不断加载和加载并且从不显示任何内容。
getUser
我基于这个 SO answer构建的函数和控制器方法,基于我对它如何工作的(错误的)理解,所以我想要一些澄清和更正:
1.我应该什么时候使用await
?
据我了解,您应该await
在async
函数调用之前使用。这个对吗?另外,为什么我可以在返回Promise的非异步函数之前调用 await ?
2. 我应该什么时候使用async
?
据我了解,您将一个函数标记为一个函数,async
以便可以使用await
关键字调用它。这个对吗?另外,[为什么] 我必须将我的await getUsers(5000)
调用包装在匿名异步函数中?