【发布时间】:2020-09-20 21:38:04
【问题描述】:
我正在编写一个快速的网络应用程序
我需要将 post 请求的主体写入磁盘,但返回的 promise 对我没有用。
是否需要等待或附加 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);
【问题讨论】:
-
完全没有,因为您的回应并不依赖于承诺的兑现。
-
您不必等待
Promise到resolve或reject,但是,您应该处理错误情况并将其返回给调用者,而不是让它感觉像所有请求成功。 -
只有在需要处理错误时才需要
-
顺便说一句,即使您不需要
.catch处理程序,您也至少应该拥有它 - 未处理的 Promise 拒绝会导致问题并破坏您的应用程序。
标签: javascript node.js promise fs