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\node\node06\myapp-login\node_modules\express\lib\response.js:767:10)
at ServerResponse.json (f:\VSCode\node\node06\myapp-login\node_modules\express\lib\response.js:264:10)
at ServerResponse.send (f:\VSCode\node\node06\myapp-login\node_modules\express\lib\response.js:158:21)
at movie.find.toArray (f:\VSCode\node\node06\myapp-login\routes\main.js:29:14) at result (f:\VSCode\node\node06\myapp-login\node_modules\mongodb\lib\utils.js:414:17)
at executeCallback (f:\VSCode\node\node06\myapp-login\node_modules\mongodb\lib\utils.js:406:9)
at handleCallback (f:\VSCode\node\node06\myapp-login\node_modules\mongodb\lib\utils.js:128:55)
at self.close (f:\VSCode\node\node06\myapp-login\node_modules\mongodb\lib\cursor.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{

  异步函数

})

posted @ 2018-03-29 10:14  淼燚懿  阅读(369)  评论(0编辑  收藏  举报