3 回答

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);

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);
});
建议不要使用超时,因为超时对于此目的是不可靠的。该代码简单地说“先做”,然后依次“先做”。

TA贡献1802条经验 获得超6个赞
这是一个简单的版本:
console.log("Welcome");
setTimeout(() => {
var name = prompt("What is your name?");
console.log("Hello " + name);
}, 0)
您只需要将提示移至下一个刻度。 setTimeout
会做的。
添加回答
举报