📅  最后修改于: 2023-12-03 15:17:03.224000             🧑  作者: Mango
在编写 JavaScript 代码时,您可能需要执行一些涉及等待的操作,例如延迟执行或等待 API 响应。 在这种情况下,您可以使用 JavaScript 提供的一些方法来等待操作完成。
setInterval 和 setTimeout 是两种 JavaScript 定时函数。 这两个函数非常相似,不同之处在于 setInterval 将在给定时间间隔之后重复执行函数,而 setTimeout 仅在给定时间间隔后执行一次函数。
例如,下面的代码将在 1000 毫秒之后显示一条消息:
setTimeout(function() {
console.log('Hello, World!');
}, 1000);
您可以使用这些函数来延迟执行代码或执行非常重要的操作。
async / await 是 ES2017 中的新功能。 它们是让 JavaScript 更加易读的一种方法,使得异步操作显得更加同步。
async / await 使得开发人员可以使用类似于同步代码的方式编写异步函数。 这种方法有助于提高代码的可读性和维护性,特别是在编写大型代码库时。
下面是一个使用 async / await 的示例:
async function myFunction() {
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello, World!');
}, 1000);
});
const result = await myPromise;
console.log(result);
}
myFunction();
在上面的代码中,一个 Promise 被创建并在 1000 毫秒后被解决。 变量result 等待 Promise,然后将其值日志输出。
Promise 是 JavaScript 编程中常用的另一种等待方法。 Promise 提供了对异步操作的优雅处理,例如从 API 获取数据或加载图像。 Promise 使代码更易于编写和管理,但是需要一些额外的学习。
在下面的代码中,一个 Promise 被创建并在 1000 毫秒后被解决。 如果 Promise 被接受,则可以执行一些代码。
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello, World!');
}, 1000);
});
myPromise.then((result) => {
console.log(result);
}).catch((error) => {
console.error(error);
});
当 Promise 被解决时,.then 和语句将按顺序执行。 如果 Promise 被拒绝,则 catch 和语句将捕获错误并执行。
以上是 JavaScript 等待的一些常用方法。 setInterval 和 setTimeout 可用于延迟执行代码。 async / await 和 Promise 则更适用于处理对 API 的调用等异步操作。 选择正确的操作方式可以在优化 JavaScript 代码的同时提高代码的可读性和维护能力。