当前位置: 首页 > 面试题库 >

如何在Node.js(JavaScript)中等待?我需要暂停一段时间

沈建柏
2023-03-14
问题内容

我正在开发满足个人需要的控制台脚本。我需要能够暂停很长一段时间,但是,根据我的研究,Node.js无法按需停止。一段时间后,读取用户的信息变得越来越困难……我已经看到了一些代码,但是我相信他们必须在其中包含其他代码才能使其正常工作,例如:

    setTimeout(function() {
    }, 3000);

但是,我需要这段代码之后的所有内容才能在一段时间后执行。

例如,

    // start of code
    console.log('Welcome to my console,');

    some-wait-code-here-for-ten-seconds...

    console.log('Blah blah blah blah extra-blah');
    // end of code

我也看过类似的东西

    yield sleep(2000);

但是Node.js无法识别这一点。

我如何才能实现这种长时间的暂停?


问题答案:

最好的方法是将代码分成多个功能,如下所示:

function function1() {
    // stuff you want to happen right away
    console.log('Welcome to My Console,');
}

function function2() {
    // all the stuff you want to happen after that pause
    console.log('Blah blah blah blah extra-blah');
}

// call the first chunk of code right away
function1();

// call the rest of the code and have it execute after 3 seconds
setTimeout(function2, 3000);

它与 JohnnyHK 的解决方案相似,但是更加整洁并且易于扩展。



 类似资料:
  • 问题内容: 我正在为个人需求开发类似脚本的控制台。我需要能够暂停很长一段时间,但是,根据我的研究,node.js无法按需停止。一段时间后,读取用户的信息变得越来越困难……我已经看到了一些代码,但是我相信他们必须在其中包含其他代码才能使他们工作,例如: 但是,我需要这段代码之后的所有内容才能在一段时间后执行。 例如, 我也看过类似的东西 但是node.js无法识别这一点。 我如何才能实现这种长时间的

  • 我正在为个人需要开发一个控制台脚本。我需要能够暂停更长的时间,但根据我的研究,Node.js无法按要求停止。用户的信息读一段时间后就越来越难了...我已经看到了一些代码,但我相信它们必须有其他代码在里面才能工作,例如: 但是,我需要这行代码之后的所有内容在这段时间之后执行。 例如, 我也见过 但Node.js并不认识到这一点。 我如何实现这种延长的暂停?

  • 我的问题得到了回答,我的问题得到了解决。我已经更新了这个线程与我的最终解决方案 我正在做这个学校作业(测验程序),我们最初只需要做一个纯粹的基于文本的控制台游戏,但我想挑战自己,试着用JavaFX创建它,我们刚刚开始学习。 这是一个基于回合的问答游戏,玩家将被呈现一个问题,要求玩家通过两个按钮(对或错按钮)回答对/错 游戏流程: 我正在运行一个for循环,只要我的ArrayList中还有问题,这个

  • 问题内容: 我正在使用JLabel创建动画, 我有一个按钮可以更新标签 但是,我不知道如何等待(例如1000毫秒)直到下一次更改。当我添加此: 到我的ActionListener中: 它不起作用。它停了片刻,我看不到第一帧和最后一帧之间的变化。是否可以等待1000毫秒而不停止程序?当我删除while循环并尝试部分时,单击我的按钮,它的变化非常好… 我怎样才能做到这一点? 问题答案: 在 主 线程中

  • 问题内容: 考虑下面的代码…阅读前5行后,我试图暂停流: 输出(接下来复制)表明它在暂停后继续读取行。也许readline在缓冲区中排队了几行,并且无论如何都将它们喂给我…如果它继续在后台异步读取,这是有道理的,但是根据文档,我不知道该怎么做。应该有适当的行为。关于如何达到预期效果的任何建议? 问题答案: 因此,事实证明,即使在pause()之后,readline流也趋向于“滴落”(即泄漏一些额外

  • 问题内容: 我正在用Java编写一个简单的钓鱼模拟器游戏。我希望每次投射后都有一个随机生成的等待时间。等待结束后,将发生随机事件(一条鱼将被捕获,一条鱼将使您的鱼饵变硬,等等)。我听说过有关Thread.sleep()的坏事,并且想知道在这种情况下最适合我的方法。 目前我正在使用这样的东西 问题答案: 您可以考虑使用SwingTimer。 看看这个[类似的帖子](http://codingdict