gpt4 book ai didi

express - 如何从另一个处理程序调用 express.js 处理程序

转载 作者:行者123 更新时间:2023-12-01 04:39:13 24 4
gpt4 key购买 nike

我正在构建一个在服务器上使用 express.js 的同构 React 应用程序。客户端应用程序向其他快速处理程序发出许多 AJAX 请求,这些请求当前需要它们向自身发出多个 HTTP 请求。

作为一种优化,我想拦截我知道服务器处理的请求并直接调用它们(从而避免离开应用程序边界的成本)。我已经访问了应用程序路由器以了解它处理哪些路由,但是我正在努力寻找启动新请求的最佳方式。所以我的问题是:

如何快速处理来自程序源而不是网络的 HTTP 请求?

最佳答案

我建议创建一个通用服务并在两个处理程序中都需要它。我所做的是打破服务中的业务逻辑并创建 Controller 来处理请求并以这种方式调用特定服务,您可以在同一 Controller 中使用多个服务,例如。

路由器.js

var clientController = require('../controllers/client-controller.js');
module.exports = function(router) {
router.get('/clients', clientController.getAll);
};

客户端 Controller .js
var clientService = require('../services/client-service.js');
function getAll(req, res) {
clientService.getAll().then(function(data) {
res.json(data);
}, function(err) {
res.json(err);
});
}

module.exports.getAll = getAll;

客户端服务.js
function getAll() {
// implementation
}

module.exports.getAll = getAll;

你也可以使用 http://visionmedia.github.io/superagent/之类的东西从 Controller 进行 http 调用并使用它们。

关于express - 如何从另一个处理程序调用 express.js 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com