如何在node.js中逐行运行代码

我是node.js新手 我知道它使用asynchronous编程,但我需要编写一个循环,要求用户input一些数据,然后在用户input数据后,一次又一次地询问,直到循环结束。 我试过这个代码,但输出是这样的:
插入数据?
插入数据?
插入数据?
当我想input的东西是这样的:aaallliii

for (index=1;index<=3;index++){ console.log("Insert Data?"); prompt.start(); prompt.get(['data'], function (err, result) { }); } 

我怎么能写代码来使用它像正常循环?

如果您能够使用节点v7.6,则这是一个使用async/await的解决scheme。

async/await可以让你使用asynchronous的东西,并以更加同步的方式编写代码。 在你的情况下,你想提示用户input,然后等待他们的回应,然后再继续。 await关键字可以让你用相同的方式编写代码,直到用户给出了input(尽pipe一切仍然是asynchronous的,基本上它只是语法糖)

 async function insertData() { for (let index = 1; index <= 3; index++) { console.log("Insert Data?"); prompt.start(); let input = await new Promise(resolve => { prompt.get(['data'], (err, result) => { resolve(result); } }); // do something with input } } insertData().then(() => console.log("Done prompting."));