我要解决的问题是

  • 客户端对节点服务器进行一次轻松的POST。
  • 节点服务器通过套接字与另一个外部服务器通信。
  • 当套接字响应从其他服务器返回时,
  • -节点服务器使用接收到的数据响应客户端。

  • 我可以通过REST与客户端通信,也可以分别通过套接字与外部服务器通信(响应时间为〜100ms)。但是将这些结果结合起来不会产生任何结果。
    const sjsc = require('sockjs-client');
    app.post('/form', function(req, res) {
        const srvc = sjsc('http://external.server:port/path');
        srvc.onopen = function () {
            srvc.send(testData);
        }
    
        srvc.onmessage = function(data) {
            console.log('received ', data);
            res.send(data);
        };
    });
    

    最佳答案

    const srvc = sjsc('http://external.server:port/path');
    这需要是一个let。这是我唯一更改的内容,并且可以完美运行。
    let srvc = sjsc('http://external.server:port/path');

    关于node.js - 带有套接字的Node.js REST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37144851/

    10-13 05:24