【express】get,post中间件调用注意

背景:

自己做了一个小工具,打算用express来读写本地文件,于是用get/post中间件来给前端返回请求结果。

问题:

前端调用的请求一直处于pending状态,最后自动超时报错

解析和解决办法:

前端收到了express返回的文件流,但是并没有收到状态变更的结果(如:200,500等),所以前端请求一直在pending。
通过给前端返回状态码 res.status(200) 解决问题:

const fs = require("fs");
var express = require("express");
var app = express();

app.get("/getFile", function(req, res){
  fs.createReadStream(req.query.filename)
  .on("data", (data)=>{
    // handle file data
  })
  .on("end", ()=>{
    // read file ended
    res.status(200).send("success!")
  })
  .on("error", (err)=>{
    res.status(500).send(err);
  })
})
posted @ 2023-04-14 17:28  leah-xx  阅读(42)  评论(0编辑  收藏  举报