【发布时间】:2019-03-12 09:43:41
【问题描述】:
我在 Node.js 中有两个 Express 控制器,A 和 B,A 有一个返回数据的函数。我希望 B 调用该函数,拦截答案并在重构后返回它。像这样:
A{
search(req,res){...}
}
B{
wrapper(req,res){
A.search(req,?).then((repsonse)=>{
<refactor response>;
res.send(refactoredData);
})
}
}
我不知道如何从 B 调用 A.search,我不想更改 A,A.search 中没有 next(),如果我调用 A.search(req,res ) 使用包装器的参数,我只是重定向了调用,对吧?
【问题讨论】:
-
我真的不明白这里有什么问题。您可以使用 req/res 参数调用不同类中的方法。虽然上面的代码显然是一个不可运行的示例,但我想知道您是否考虑过 A.search 解析/拒绝 B.wrapper 所期望的承诺。
-
什么是搜索以及它是如何工作的?是你自己的功能吗?然后重写它。该问题缺少 stackoverflow.com/help/mcve 。 Node.js 中没有控制器。如果您指的是 Express,请明确说明并添加相关标签。这其实是 Koa 解决的 Express 的根本问题。
-
@estus 你说得对,这是一个 Express 问题,我只是手拉手使用了两个,所以我忘了提。这是我的功能,但它不仅仅是一个功能,它是一个示例。我希望将其应用于多个功能。