ES6 特性全解析:从 Promise 到模块系统
1. ES6 中的 Promise
Promise 在 JavaScript 发展历程中一直是个有争议的话题。过去有很多不同语法的 Promise 实现,如 Q、Bluebird 等。好在 ES6 提供了标准的 Promise 实现。
先看一个使用 setTimeout()
实现延迟异步执行的简单例子:
setTimeout(function(){
console.log('Yay!')
}, 1000)
在 ES6 中,可以用 Promise 重写这段代码:
var wait1000 =
new Promise(function(resolve, reject) {
setTimeout(resolve, 1000)
}).then(function() {
console.log('Yay!')
})
也可以使用 ES6 的箭头函数:
var wait1000 =
new Promise((resolve, reject)=> {
setTimeout(resolve, 1000)
}).then(()=> {
console.log('Yay!')