我刚开始使用async/await,对于它与回调的交互方式感到困惑。例如,
fooMethod(function() {
return Promise.resolve("foo");
});
vs
fooMethod(async function() { //add async keyword
return "foo";
});
必须以特定方式编写fooMethod,以便它可以处理async函数作为回调吗?
如果fooMethod是一个公共库,我如何确定添加async关键字到函数是安全的?
后续
Express路由器,
app.get('/foo', function (req, res) {
return res.send("foo");
});
app.get('/foo', async function (req, res) {
return res.send("foo");
});
这两个函数都可以工作,但使用它们是否安全呢?
Promises
。 - Jed Foxcb()
结尾,那么我们可以安全地添加 async 关键字,但如果函数以const result = cb()
结尾,则除非它解决了回调的 promise,否则它将不支持 async 关键字? - Zankoawait
等等。我的意思是,在查看 express 文档时,我发现没有关于使用 async 是否会对回调函数造成问题的文档。 - Zanko