我是node.js的新手。我知道它使用异步编程,但我需要编写一个循环,要求用户输入一些数据,然后在用户输入数据后,一次又一次地询问,直到循环结束。
我试过这段代码,但输出是这样的:
插入数据?
插入数据?
插入数据?
当我想输入一些东西时,就像:aaallliii
for (index=1;index<=3;index++){
console.log("Insert Data?");
prompt.start();
prompt.get(['data'], function (err, result)
{
});
}
如何编写代码以像普通循环一样使用它?
答案 0 :(得分:3)
如果您能够使用节点v7.6,则使用result = self._client(GetHistoryRequest(
entity,
limit=100,
offset_date=None,
offset_id=0,
max_id=0,
min_id=last_read_message_id,
add_offset=0
))
for message in result.messages:
if isinstance(message.fwd_from, MessageFwdHeader):
entity = self._client.get_input_entity(
PeerChannel(message.fwd_from.channel_id)
)
if message.fwd_from.channel_id:
fwd_result = self._client(GetFullChannelRequest(entity))
if hasattr(fwd_result, 'chats') and len(fwd_result.chats) > 0:
fwd_title = fwd_result.chats[0].title
的解决方案。
async/await
允许您使用异步内容并以更加同步的方式编写代码。在您的情况下,您希望提示用户输入,然后等待他们的响应,然后继续。 async/await
关键字允许您以相同的方式编写代码,“阻塞”直到用户提供输入(尽管一切仍然是异步的,它基本上只是语法糖)
await