我正在编写一个快递网络应用程序
我需要把post请求的正文写到磁盘中,但返回的承诺对我来说没有用。
是否需要在返回的promise中加入 await或附加函数?
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);
不,你不必对返回的promise做任何事情,就像所有的非async函数一样,即使你忽略返回值,它也会被执行,但是有一些事情你必须要记住。
如果你不等待承诺的解析或拒绝,下面的操作,比如你的... ... res.send('Hello World');
很可能会在异步操作完成之前被执行。这取决于你的应用程序是否有问题。
你也不能处理异步函数中可能发生的异常,如果你没有一个 catch
块,因此当遇到未处理的异常时,你的整个应用程序可能会崩溃。