承诺js方法时如何避免逻辑重复? [英] How to avoid logic duplication when promisifying js methods?
本文介绍了承诺js方法时如何避免逻辑重复?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
最近我接受了 Promise 链接模式.这样做很方便:
Recently I embraced promises chaining pattern. It's very convenient to do like this:
action1
.then(()=> action2())
.then(()=> action3());
但是,为了做到这一点,我改变了我所有的方法(TypeScript):
But, in order to do it I changed all my methods like this (TypeScript):
action1() : Promise<any>{
try{
// actual code
return Promise.resolve();
} catch (err){
console.error(err);
return Promise.reject(err);
}
}
这看起来像是非常重复的模式.避免代码重复的最佳方法是什么?
This looks like very repetitive pattern. What's the best way to avoid code duplication?
推荐答案
编写一个函数将 promise 封装在一个函数上,你可以重用它
Write a function to wrap promise over a function and you can reuse it
wrapPromise(fun) : Promise<any>{
try{
var value = fun()
return Promise.resolve(value);
} catch (err){
console.error(err);
return Promise.reject(err);
}
}
wrapPromise(action1).then()
这篇关于承诺js方法时如何避免逻辑重复?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文