为了账号安全,请及时绑定邮箱和手机立即绑定

间隔后如何出现console.log或提示

间隔后如何出现console.log或提示

MMMHUHU 2021-05-10 16:16:36
我console.log()在一个简单的程序中使用console.log("Welcome");var name = prompt("What is your name?");console.log("Hello" + name);但是提示出现在欢迎消息之前。有没有办法按顺序排列这些消息,或者有替代方法。我希望在提示之前出现“欢迎”消息,但是这不会发生,并且提示会在破坏程序流之前出现。
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

一种可能的方式来实现你追求的是使用使用Promise与async/await该后将解决setTimeout调用完成。这样,您可以使自己的“睡眠”类函数,从而在提示用户之前“暂停”程序:


const sleep = t => new Promise(res => setTimeout(res,t));


(async _ => {

  console.log("Welcome");

  await sleep(1); // sleep for 1 milisecond

  var name = prompt("What is your name?");

  console.log("Hello " + name);

})();

或者,您可以将其alert()用作输出,而不是使用console.log():


alert("Welcome");

var name = prompt("What is your name?");

alert("Hello " + name);


查看完整回答
反对 回复 2021-05-27
?
RISEBY

TA贡献1856条经验 获得超5个赞

这是最简单的解决方案...


const p = new Promise((resolve) => {

  console.log("Welcome");

  resolve();

});


p.then(() => {

  var name = prompt("What is your name?");

  console.log("Hello" + name);

});

建议不要使用超时,因为超时对于此目的是不可靠的。该代码简单地说“先做”,然后依次“先做”。


查看完整回答
反对 回复 2021-05-27
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

这是一个简单的版本:


console.log("Welcome");

setTimeout(() => {

  var name = prompt("What is your name?");

  console.log("Hello " + name);

}, 0)

您只需要将提示移至下一个刻度。 setTimeout会做的。


查看完整回答
反对 回复 2021-05-27
  • 3 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信