Node.js 如何在expressjs中发送第二个结果

Node.js 如何在expressjs中发送第二个结果,node.js,express,asynchronous,bots,whatsapp,Node.js,Express,Asynchronous,Bots,Whatsapp,我想使Whatsapp机器人和集成到我的网站。系统发送qr,用户通过我的网站进行扫描,在用户扫描并连接后,我想向在同一页面中已连接的用户发送消息。但我犯了这个错误 UnhandledPromisejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置头 app.get(“/create”,(请求、回复)=>{ if(请求查询[“会话”]!=未定义和请求查询[“会话”]!=“”){ 毒液( `${req.query['session']}`, (b

我想使Whatsapp机器人和集成到我的网站。系统发送qr,用户通过我的网站进行扫描,在用户扫描并连接后,我想向在同一页面中已连接的用户发送消息。但我犯了这个错误

UnhandledPromisejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置头

app.get(“/create”,(请求、回复)=>{
if(请求查询[“会话”]!=未定义和请求查询[“会话”]!=“”){
毒液(
`${req.query['session']}`,
(base64Qr、asciiQR、尝试次数、URL代码)=>{
res.send(``)
},
(statusSession,session)=>{
日志(“状态会话:”,状态会话);
},
{logQR:false,disableWelcome:true
}).然后(()=>{
res.write(“连接!”);
res.end();
})
}否则{
res.json({状态:“错误”,消息:“错误参数”});
}

}))

res.send()只能调用一次。您不能为单个请求调用此函数2次或多次。

因此,如果用户已连接或未连接,我如何向用户发送结果?我不知道您正在使用的库或它的工作方式,但我知道res.write()和res.end()是问题的根源。如果您必须向用户发送图像和连接的消息,我建议您使用json。
app.get("/create", (req, res) => {
if (req.query["session"] != undefined && req.query["session"] != "") {
  venom.create(
    `${req.query['session']}`,
    (base64Qr, asciiQR, attempts, urlCode) => {
      res.send(`<img src="${base64Qr}"></img>`)
    },
    (statusSession, session) => {
      console.log("Status Session: ", statusSession);
    },
    { logQR: false, disableWelcome: true 
    }).then(() => {
      res.write("Connected!");
      res.end();
    })
} else {
  res.json({ status: "Error", messages: "Wrong Parameters" });
}