Provisional headers are shown

network =>  header 里面显示如下错误: 

错误意思是:临时标题显示  :

Error: Can't set headers after they are sent.
at validateHeader (_http_outgoing.js:494:11)
at ServerResponse.setHeader (_http_outgoing.js:501:3)
at ServerResponse.header (f:VSCode ode ode06myapp-login ode_modulesexpresslib esponse.js:767:10)
at ServerResponse.json (f:VSCode ode ode06myapp-login ode_modulesexpresslib esponse.js:264:10)
at ServerResponse.send (f:VSCode ode ode06myapp-login ode_modulesexpresslib esponse.js:158:21)
at movie.find.toArray (f:VSCode ode ode06myapp-login outesmain.js:29:14) at result (f:VSCode ode ode06myapp-login ode_modulesmongodblibutils.js:414:17)
at executeCallback (f:VSCode ode ode06myapp-login ode_modulesmongodblibutils.js:406:9)
at handleCallback (f:VSCode ode ode06myapp-login ode_modulesmongodblibutils.js:128:55)
at self.close (f:VSCode ode ode06myapp-login ode_modulesmongodblibcursor.js:957:60)

“Can’t set headers after they are sent.” => “不能发送headers因为已经发送过一次了” => 在处理HTTP请求时,服务器会先输出响应头,然后再输出主体内容,而一旦输出过一次响应头(比如执行过 res.writeHead()res.write()res.end()),你再尝试通过 res.setHeader()res.writeHead() 来设置响应头时(有些方法比如 res.redirect() 会调用 res.writeHead()),就会报这个错误。

(说明:express中的 res.header() 相当于 res.writeHead()res.send() 相当于 res.write()

//程序重复响应,res.send 重复发送数据而导致的

发送后不能设置标头,一般是后台出了问题,(查看异步线程的程序,是否应该改为主线程优先执行一下)

return  new Promise((resolve,rejected)function{

  异步函数

})

原文地址:https://www.cnblogs.com/fengch/p/8668217.html