我有一个Node ExpressJS应用程序,我想以同步方式处理传入的HTTP请求,因为每个http请求都调用Gmail API,而该API反过来又限制了一个帐户的15个并发连接。
router.get('/', function(req, res) {
callGmailAPI();
});
我的ExpressJS应用程序通过Nginx Web服务器反向代理。
有什么想法吗?预先感谢。
答案 0 :(得分:0)
您可以使用以下解决方案:
router.get('/', async (req, res) => {
await callGmailAPI();
res.send('Completed normally.');
});
答案 1 :(得分:0)
如果您想同步进行一系列操作,我可以建议async.series()
吗? https://caolan.github.io/async/docs.html#series
const async = require('async')
router.get('/', function (req, res, next) {
async.series([
function (callback) {
// Make Sure you call the callback here after you do your work
callGmailAPI()
}
], function (err) {
if (err) {
return next(err)
}
else {
res.status(200).send('All Done')
}
}
})