我试图撰写的一些功能整合在一起:如何管道功能,当承诺在中间检查授权?
compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)));
checkAuthorization
返回检查,如果用户被授权的承诺。 buildParams
收到someRequestData
,并将结果传送至searchItem
。
checkAuthorization()
.then(() => {
compose(
searchItem,
buildParams
)(someRequestData)
}, (e) => {
handleError(e)
})
我认为这是美好的,但我希望有一个更优雅的外观为便于阅读,是这样的:
compose(
searchItem,
checkAuthorization
buildParams
)(someRequestData)
所以会发生什么事是: 1)建立PARAMS 2)checkAuth 3)搜索项
有什么建议吗?
是啊,这就是我的想法。感谢您的建议。 – Chen
@Bergi,请看我的答案。你怎么看?如果您有任何想法,我该如何跟踪可能的“拒绝”状态? – wostex