已关闭,该问题需要details or clarity,目前不接受回答。
**想要改进此问题?**通过editing this post添加详细信息并澄清问题。
6天前关闭
这篇文章是编辑并提交审查4天前.
Improve this question
async function resolver(params, ...middlewares) {
let data = await someFunction(params)
for (const middleware of middlewares) {
data = await middleware(data)
}
return data
}
我需要以这样一种方式来实现这个函数,即我可以传递任何数量的中间件,并且它们接受先前中间件的输出作为其输入,其中第一个中间件将接受从someFunction
返回的data
这些中间件没有相同的返回类型。然后middleware2
将接受Tres1
作为它的输入,并给予TRes2
类型的数据,依此类推,resolver
将输出TResN
,其中middlewaren
将是阵列中的最后一个中间件。
1条答案
按热度按时间zphenhs41#
类似这样的东西应该可以工作,你实际上是在输入
middlewares
作为一个函数数组。见tsPlayground