【发布时间】:2016-12-05 09:32:43
【问题描述】:
我的应用代码:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
async function init() {
while (true) {
console.log("TICK");
await (rl.question('What do you think of Node.js? ', await (answer) => {
console.log('Thank you for your valuable feedback:', answer);
rl.close();
}))
await new Promise(resolve => setTimeout(resolve, 1000))
}
}
它必须如何工作(或我认为它应该如何工作):
当我们遇到await (rl.question('... 时,它应该等待响应(用户输入),然后才循环继续。
实际工作原理
当它遇到await new Promise(resolve => setTimeout(resolve, 1000)) 时,它正在工作,但是对于await (rl.question('...,您会得到输出,但代码会继续执行而无需等待用户输入。
【问题讨论】:
-
需要
while循环吗? -
@guest271314 ,是的。我想了解为什么有些异步工作而有些不工作。就像我的情况一样
标签: javascript node.js asynchronous async-await