在我的网站上,我的前端有一个角,称为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);
})
});