随着Async/Await正式纳入ES7标准,这个号称异步编程终级解决方案用的人也越来越多。然而,使用过程中发现await表达式越多,创建Promise对象的冗余代码也越多,优雅感骤降。为此,本文结合装饰器(Decorator)来实现更优雅的异步编程。
使用
- 通过async关键字声明一个异步函数;
- await关键字仅在async函数中有效,并且期望一个Promise对象。await表达式会暂停当前async函数的执行,等待Promise处理完成并返回结果。
示例:
class Action {
step_1(value){
return new Promise((resolve, reject) => { // 返回Promise对象
console.log('[step_1]', value);
resolve();
});
}
step_2(value){
return new Promise((resolve, reject) => {
console.log('[step_2]', value);
resolve();
});
}

本文探讨如何结合ES7的Async/Await和装饰器(Decorator)来提高异步编程的优雅性。文章指出,尽管Async/Await简化了异步处理,但过多的await表达式会导致Promise对象冗余,降低代码美感。为了解决这个问题,作者提出使用装饰器将Promise创建部分封装,以此优化异步函数的编写方式,提高代码的整洁度。
最低0.47元/天 解锁文章
772

被折叠的 条评论
为什么被折叠?



