在幾個月之前,V8 引擎就實現了對 async/await 關鍵字的支持,Node.js 7中的 V8 經過幾次更新,終於在上一個 night build 版本中加入對 async/await 的支持。
為了解決 callback hell(回調地獄),程式設計師們一直在努力,從最早的回調函數,到 Promise 對象,再到 Generator 函數,每次都有所改進,但又讓人覺得不徹底 —— 因為使用它們之前都需要理解抽象的底層運行機制。
異步編程的最高境界,就是根本不用關心它是不是異步, 所以 async/await 一直被譽為的 「殺手級解決方案」,讓你從回調地獄中解脫出來;
現在就可以在 Node.js 7 中使用該關鍵字了,步驟如下:
安裝 Node.js 7,可以使用 nvm 安裝;使用 async/await 寫一個簡單的示例使用 node --harmony-async-await app.js 啟動服務,注意因為還是試驗的功能,需要使用 --harmony-async-await 標誌位選項;之前使用 Koa v2 搭建有該功能的 Web 服務,必須都要藉助諸如 Babel 這些編譯器,現在都可以去掉了,啟動的時候改用 node --harmony-async-await app.js 就可以;
注:按照 Node.js 的發布流程,正式版將在 2017 年 4 月發布,在這之前 async/await 功能還是處於不穩定版本,切勿用在正式環境中;
更多細節,請『閱讀原文』;