一尘不染

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

node.js

我正在开发满足个人需要的控制台脚本。我需要能够暂停很长一段时间,但是,根据我的研究,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无法识别这一点。

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


阅读 273

收藏
2020-07-07

共1个答案

一尘不染

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

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 的解决方案相似,但是更加整洁并且易于扩展。

2020-07-07