如何在JavaScript中使用setTimeout在不同时间在同一行上打印省略号?



这就是我目前的代码:

let name = input.question("Please Provide a Name: ");
if (name === "Casper" || name === "casper"){
console.log("Access Granted");
function printMessage(){
console.log(.);
}
setTimeout(printMessage, 1000);
} else {
console.log("Access Denied");
}

我要做的是打印"…"在授予访问权限之后,但每个";延迟后打印,当然在同一行。

提前感谢我得到的任何帮助!

您可以使用setInterval()

let 
counter = 0,
elipsisInterval = setInterval(() => {
counter++;
console.log(`Access Granted${".".repeat(counter)}`);
if (counter === 3) {
counter=0;
}
}, 1000)
.as-console-wrapper { max-height: 100% !important; top: 0; }

打印

Access Granted.
Access Granted..
Access Granted...
Access Granted.
Access Granted..
Access Granted...

每一秒因为console.log()默认以换行符结束显然,如果你在NodeJS上(所以不是在前端),你可以使用

process.stdout.write("Access Granted")
process.stdout.write(".")

,它会保持在同一行

最新更新