diff --git a/docs/decorator.md b/docs/decorator.md index e6f9435..c54ba3b 100644 --- a/docs/decorator.md +++ b/docs/decorator.md @@ -533,7 +533,7 @@ $ babel --optional es7.decorators 脚本中打开的命令如下。 ```javascript -babel.transfrom("code", {optional: ["es7.decorators"]}) +babel.transform("code", {optional: ["es7.decorators"]}) ``` Babel的官方网站提供一个[在线转码器](https://babeljs.io/repl/),只要勾选Experimental,就能支持Decorator的在线转码。 diff --git a/docs/promise.md b/docs/promise.md index bf46f79..7ef9541 100644 --- a/docs/promise.md +++ b/docs/promise.md @@ -56,7 +56,7 @@ then方法可以接受两个回调函数作为参数。第一个回调函数是P ```javascript function timeout(ms) { - return new Promise((resolve) => { + return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); }); } @@ -68,6 +68,26 @@ timeout(100).then((value) => { 上面代码中,timeout方法返回一个Promise实例,表示一段时间以后才会发生的结果。过了指定的时间(ms参数)以后,Promise实例的状态变为Resolved,就会触发then方法绑定的回调函数。 +下面是异步加载图片的例子。 + +```javascript +function loadImageAsync(url) { + return new Promise(function(resolve, reject) { + var image = new Image(); + + image.onload = function() { + resolve(image); + }; + + image.onerror = function() { + reject(new Error('Could not load image at ' + url)); + }; + + image.src = url; + }); +} +``` + 下面是一个用Promise对象实现的Ajax操作的例子。 ```javascript