3.9 Promise实现

Promise是一个有争议的话题,有人说我们不需要Promise,仅仅使用异步、生成器、回调等就足够了,但是许多人尝试在写多个嵌套的回调函数时,基本上会在超过三层之后产生“回调地狱”。令人高兴的是,在ES6中有标准的Promise实现。

下面是使用setTimeout()函数实现异步延迟加载函数:

在ES6中,可以使用Promise重写,虽然在此实例中并不能减少大量的代码,甚至还多写了数行,但是逻辑却清晰了不少: