【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);
  })
})
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号