我正在express上运行以下代码:
app.get('/items/:item', async function (req, res) {
let itemName = req.params.itemName;
let item = new DataItem(itemName);
let itemProcessed = await item.process(); //call of async method
console.log(itemProcessed); //prints data processed
res.json(itemProcessed);
})
我看到没有发送回复
我还可以看到itemProcessed字符串表示是用console.log打印的如果我从函数中删除异步人员(异步前缀和某些异步方法的调用(,则会发送响应
有什么东西不见了吗?提前感谢
我想您应该使用express-async-wrap
包才能使用async
处理程序:
const wrap = require('express-async-wrap')
app.get('/items/:item', wrap(async function (req, res) {
let itemName = req.params.itemName;
let item = new DataItem(itemName);
let itemProcessed = await item.process(); //call of async method
console.log(itemProcessed); //prints data processed
res.json(itemProcessed);
})