在业务开发中遇到了一个场景,需要command-line linerface,然后程序根据用户输入做出不同处理,并且用户的输入是连续的。在查找了node.js的文档后,我找到了readLine的api。
什么是readLine
readLine是node.js里实现标准输入输出的模块,通过这个模块我们可以以逐行的方式读取数据流。
如何使用readLine
1.创建readLine实例
2.学习里面的接口方法
3.学习监听与处理readLine方法
在createInterface里,传入标准输入输出作为数据的输入和输出
在question方法的回调函数里,获取用户的输入并做相应处理,同时用close来结束程序。
promise
找到了readLine,可以满足我在终端用question来询问用户,进行终端输入了。本文真正的讲点从这里开始了,由于每一个question都是异步的,所以我们的多个终端顺序输入遇到了挑战。
首先,把每一个输入操作都转成Promise的异步,将所有的操作放到数组里面,其次利用reduce累加器的效果,实现异步操作顺序化。
详情见: