在業(yè)務(wù)開發(fā)中遇到了一個(gè)場(chǎng)景拐纱,需要command-line linerface司草,然后程序根據(jù)用戶輸入做出不同處理授段,并且用戶的輸入是連續(xù)的没陡。在查找了node.js的文檔后涩哟,我找到了readLine的api。
什么是readLine
readLine是node.js里實(shí)現(xiàn)標(biāo)準(zhǔn)輸入輸出的模塊盼玄,通過這個(gè)模塊我們可以以逐行的方式讀取數(shù)據(jù)流贴彼。
如何使用readLine
1.創(chuàng)建readLine實(shí)例
2.學(xué)習(xí)里面的接口方法
3.學(xué)習(xí)監(jiān)聽與處理readLine方法
在createInterface里,傳入標(biāo)準(zhǔn)輸入輸出作為數(shù)據(jù)的輸入和輸出
在question方法的回調(diào)函數(shù)里埃儿,獲取用戶的輸入并做相應(yīng)處理器仗,同時(shí)用close來結(jié)束程序。
promise
找到了readLine童番,可以滿足我在終端用question來詢問用戶精钮,進(jìn)行終端輸入了。本文真正的講點(diǎn)從這里開始了剃斧,由于每一個(gè)question都是異步的轨香,所以我們的多個(gè)終端順序輸入遇到了挑戰(zhàn)。
首先悯衬,把每一個(gè)輸入操作都轉(zhuǎn)成Promise的異步弹沽,將所有的操作放到數(shù)組里面檀夹,其次利用reduce累加器的效果,實(shí)現(xiàn)異步操作順序化策橘。
詳情見: