一尘不染

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

javascript

我正在为个人需求开发类似脚本的控制台。我需要能够暂停很长一段时间,但是,根据我的研究,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');
//endcode.

我也看过类似的东西

yield sleep(2000);

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

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


阅读 430

收藏
2020-05-01

共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-05-01