javascript - 在提交这个 post 请求时,主代码没有被执行,它总是到达 catch 块,为什么?
问题描述
我没有正确处理异步操作。我正在尝试将 app.post('/receiver') 路由上收到的值写入 excel 文件。我正在使用 exceljs npm 包。当我将其作为单独的一个尝试时,它可以正常工作,但是当从 app.post 调用此 exceljs 函数时,它不起作用。
当我的客户向路由 /receive 发送发布请求时,我想写/读一个 excel 文件。但是这里的代码总是到达 catch 块,我什至尝试删除它
app.post('/receiver',function(req, res){
var data = [req.body.deviceid, req.body.purposeofvisit, req.body.componentsused,req.body.rectification,req.body.hoursspent,req.body.completed, req.body.reason]
console.log(data);
workBook.xlsx.readFile('/routes/book.xlsx').then(function() {
var worksheet = workBook.getWorksheet(1);
var row = worksheet.getRow(7);
row.getCell(8).value = "AF22e-3852";
row.commit();
workBook.xlsx.writeFile('/routes/book.xlsx');
res.sendFile(path.join(__dirname + '/in.html'));
}).catch(function(){
console.log('Catch reached')
});
});
我当前的输出: 截图 需要输出:
客户端请求:/receiver(发布数据)接收服务器:将这些值写入 excel 文件(我正在使用 exceljs 包)
解决方案
推荐阅读
- angular - 地图订阅getAll
- flutter - 为什么 Text 小部件已经在 Flutter 中预定义了样式?
- android - 为什么不显示位于回收站视图顶部的图像视图?
- prometheus - PromQL 上两个布尔即时向量的逻辑按位与
- angular - 在单个角度包装器 UI 项目中显示两个不同托管的角度项目
- time-series - 如何根据当前数据集预测未来数据
- python - Flask-sqlalchemy 不会将表名转换为小写(mysql)
- intellij-idea - 即使文件被删除,如何设置 IntelliJ IDEA 以保持标签打开?
- mysql - 尝试将 EAV 表转换为常规视图时出现“未知列”错误
- javascript - 根据滑块中的不同子项计算正确的 div 高度?