Async体系

关于@的API封装

由于原生JS采用回调函数的异步代码形式,在编码时常常会产生回调地狱,使代码阅读和维护起来都十分困难,为了解决这个问题,Mewchan引入了Async体系所提供的类Promise封装,可以简单地将异步代码通过链式调用变换为类似于同步代码的形式,使代码更具可读性、更便于维护。

当一个方法返回值为Async对象时,意味着它可以处于链式调用的任何一个环节。

以下是一段常见的JS异步代码的示例:

handle1(data1, function (result1) {
    handle2(data2, function (result2) {
        handle3(data3, function (result3) {
            console.log("this data has been handled for three times");
        });
    });
});

该段代码在改用Async体系后,可以改写为:

@.async(function () {
    handle1(data1, this.next);
}).then(function (result1) {
    handle2(data2, this.next);
}).then(function (result2) {
    handle3(data3, this.next);
}).then(function (result3) {
    console.log("this data has been handled for three times");
});
最后更新时间:2018年10月17日 10:45:48

下属章节 合并子章节一起阅读