阻止Express / Node

时间:2017-08-21 09:49:36

标签: javascript node.js http express

我在node.js中遇到了一些阻塞问题。 目前,我现在有了这个代码:

router.get('/Hello', function(req, res, next) {
  (async ()=>{
      try{
          await api.connect();
          let result=await api.HandleSomethins();
          await api.disconnect();
      }catch(err){
       console.log(err);
      }
  })();
  return res.status(json(result));
});

上面的代码没有问题,我只是使用async / await来同步重载过程。

然后我遇到了下面的情况:

  • 1.UserA使用此URL连接我的node.js,UserA正在等待   现在回应。
  • 2.UserB也在此时连接,因此node.js无法立即处理UserB的请求。
  • (注意)。我需要向用户客户端(iOS / Android)发送回复。

也许节点服务器会在同一时间内获得UserC,D等。我该怎么做才能处理这种情况? child_proess?簇?或其他什么?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

router.get('/Hello', async (req, res, next) => {
        let result = null;
        try {
              await api.connect();
              result = await api.HandleSomethins();
              await api.disconnect();
        } catch (err) {
              console.log(err);
        }

        return res.status(json(result));
});