在業(yè)務開發(fā)中遇到了一個場景,需要command-line linerface,然后程序根據用戶輸入做出不同處理,并且用戶的輸入是連續(xù)的。在查找了node.js的文檔后,我找到了readLine的api。
什么是readLine
readLine是node.js里實現(xiàn)標準輸入輸出的模塊,通過這個模塊我們可以以逐行的方式讀取數據流。
如何使用readLine
1.創(chuàng)建readLine實例
2.學習里面的接口方法
3.學習監(jiān)聽與處理readLine方法

在createInterface里,傳入標準輸入輸出作為數據的輸入和輸出
在question方法的回調函數里,獲取用戶的輸入并做相應處理,同時用close來結束程序。
promise
找到了readLine,可以滿足我在終端用question來詢問用戶,進行終端輸入了。本文真正的講點從這里開始了,由于每一個question都是異步的,所以我們的多個終端順序輸入遇到了挑戰(zhàn)。
首先,把每一個輸入操作都轉成Promise的異步,將所有的操作放到數組里面,其次利用reduce累加器的效果,實現(xiàn)異步操作順序化。

詳情見: