javascript - Node.js Express 响应在 Promise 解析之前结束

标签 javascript node.js express

使用 Express 在 Node.js 上执行以下代码,但它不返回任何内容。看起来 res.send 在 promise.then() 中不起作用;看起来它已经在 promise resolve() 之前返回给调用者;我做错了什么?根据示例,它应该可以工作。谢谢。

    const express = require('express');
    const app = express();

    app.get('/test', (req, res, next) => {
      res.send("Good");  // Works Just Fine , but I dont need to return here
      getMessage().then(function(data){
          console.log("I'm here"); // Message works
          res.send("Good");  // Does not Work 
        }).catch(function(error){
          res.send("Error");
      });
    });

    function getMessage(){
        return new Promise(function(resolve, reject){        
           setTimeout(function() {
            resolve();
    }, 3000);
        });    
    }
  app.listen(PORT, () => {
console.log("run");
});

Response

最佳答案

请在您的应用中添加以下代码:Refer Here

此应用启动服务器并在端口 8080 上监听连接

app.listen(8080, function () {
  console.log('Example app listening on port 8080!')

})

关于javascript - Node.js Express 响应在 Promise 解析之前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46870455/

相关文章:

javascript - Javascript音频播放器-将.ogg添加到.mp3数组

javascript - 日期的正则表达式模式匹配

javascript - 如何从 $cookies 获取对象?

javascript - javascript 中奇怪的关闭问题

authentication - 如何使用 Node.js、Express 和 Mongoose 进行身份验证?

node.js - ExpressJS 的cookie-session 库的keys 属性有什么意义?

javascript - 受 jQuery 图片库影响的页面高度

javascript - 如何判断 Firefox 表格单元格中的文本是否溢出?

javascript - 除非用户更改滚动条的位置,否则将滚动条保持在底部

javascript - 从文件路径创建blob vue electro builder