当下 Node.js 最新版本是 7.9.0 ,但值得注意的是,偶数版本才是正式版哦~ 所以,用于生产的话,最好用 6.x 或过两个月用 8.x 比较好。
这个版本开始,全面支持 ES6 和部分稳定 ES7 特性。其中,异步函数,是比较瞩目的特性。
我们先用 Promise 方式写一段代码。
// 模拟异步返回结果
function fetchStr(time) {
return new Promise((resolve, reject) => setTimeout(v => resolve("time is " + time), time));
}
// 调用多次fetchStr 打印结果。
function run() {
fetchStr(1000)
.then(str => {
console.log(str);
return fetchStr(800);
})
.then(str => {
console.log(str);
return fetchStr(500)
})
.then(str => {
console.log(str);
})
}
run();
// 输出结果
time is 1000
time is 800
time is 500
我们用异步函数 async/await 来搞定一下。
// 模拟异步返回结果
function fetchStr(time) {
return new Promise((resolve, reject) => setTimeout(v => resolve("time is " + time), time));
}
// 异步函数调用,简洁多了~~
async function run() {
let str = await fetchStr(1000);
console.log(str);
str = await fetchStr(800);
console.log(str);
str = await fetchStr(500);
console.log(str);
}
run();
// 输出结果
time is 1000
time is 800
time is 500
希望抛砖引玉的作用。