我正在编写一个快速的 Web 应用程序
我需要将 post 请求的主体写入磁盘,但返回的承诺对我没有用。
是否有必要等待或附加 then 函数到返回的承诺?
import { promises as fs } from 'fs';
import express from 'express';
const app = express();
app.post('/', (req, res) => {
fs.writeFile(`record/${req.body.name}.json`, JSON.stringify(req.body));
res.send(`Hello World`);
});
app.listen(8080);
不,您不必对返回的承诺做任何事情,就像每个非异步函数一样,即使您忽略返回值,它也会被执行,但有一些事情您必须牢记:
如果您不等待承诺解决或拒绝,则以下操作,例如您res.send('Hello World');
最有可能会在异步操作完成之前执行。这是否有问题取决于您的应用程序。
如果您没有catch
块,您也无法处理异步函数中可能发生的异常,因此您的整个应用程序在遇到未处理的异常时可能会崩溃。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句