可以执行从Angular 2到Express的子进程

时间:2019-02-20 10:37:13

标签: node.js angular express

在我的网站上,我的前端有一个角,称为express的后端。

一些快速呼叫打入数据库以执行存储过程,这可能需要很长时间。

这些漫长的等待时间使Express回复到角度响应会导致504错误。

是否有必要将其设置为angular将执行消息发送到Express的位置,然后用户在长时间运行的存储过程在express上完成时继续使用angular网站吗? (当前,如果用户执行这些长时间运行的过程之一,然后在有角度的位置四处移动,将终止该过程。)

示例角度调用:

getDnSP(DnSPCall): Observable<DnSpResult[]> {
  const url = 'http://localhost:4200/'+'dn_sp';
  const data = ({
    dnspcall: DnSPCall
  });
  return this._http.post(url, data)
  .pipe(
    map((res) => {
      console.log(res);
      return <DnSpResult[]> res;
    })
  );
}

样品快递:

router.post('/dn_sp', function (req, res) {
  var dnspcall = req.body.dnspcall;
  console.log(dnspcall);
  var sql = "CALL " + db + ".DN_OBJECT(" + dnspcall + "P_ERROR_CD,P_MSG);";
  return db.read(sql)
    .then((x) => {
      console.log(x);
        };
        client.sendMail(mailOptions, function (error, info) {
          if (error) {
            console.log(error);
          } else {
            console.log('Email sent: ' + info.response);
          }
        });
      } else {
        console.log("No errors!");
      }
      console.log("Error Code: " + errorcd);
      res.send(x);
    })
});

0 个答案:

没有答案