将 Promise Chain 提取到外部函数

Extracting Promise Chain to an external function

所以 Promise 使一切变得更加清晰,除了我如何将 promise 链的末端外推到外部函数之外?

例如:

SomePromise.then(result => {
    // do stuff here
}).catch(err => {
    // do more stuff here
})

SomePromise2.then(result => {
    // do stuff here
}).catch(err => {
    // do more stuff here
})

SomePromise3.then(result => {
    // do stuff here
}).catch(err => {
    // do more stuff here
})

不知何故,我想提取 then 和 catch,这样我就可以像这样将一个函数传递给 then:

SomePromise.then(handler);
SomePromise2.then(handler);
SomePromise3.then(handler);

我想我可以将整个 Promise 提取到一个函数中,并在其中传递参数,但这感觉有点笨拙。有什么优雅的解决方案吗?

编辑:我应该详细说明我关注的是捕捉部分。想象一下具有相同数据解析器和错误处理程序的多个不同查询。

编辑 2:事后看来,我现在意识到我可以推断

handler = () => {}
errorHandler = () => {}

Promise.then(handler)
       .catch(errorHandler)

但是

let p1=Promise.resolve(1);
function handler(data){console.log(data)};
function errorHandler(error){console.log(error)};
p1.then(handler,errorHandler);

这里有很多东西,您期望的代码是:

SomePromise.then(处理程序);

不过实际应该是

函数处理程序(数据){}; SomePromise.then((数据)=>处理程序(数据));