javascript 异步 同步(代码示例)

quanzhangongchengshi

温馨提示:这篇文章已超过297天没有更新,请注意相关的内容是否还可用!

javascript 异步 同步(代码示例)

JavaScript中的异步和同步是两种不同的代码执行方式。

同步代码是按照顺序执行的,每一行代码都会等待上一行代码执行完成后再执行。这意味着,如果有一个耗时较长的操作,比如从服务器获取数据,同步代码会一直等待这个操作完成后才能继续执行下一行代码。这可能会导致页面的卡顿,因为浏览器在执行同步代码时会被阻塞。

示例代码:

console.log("开始执行同步代码");

console.log("同步代码执行中...");

function sleep(milliseconds) {

const start = new Date().getTime();

while (new Date().getTime() - start < milliseconds) {}

}

sleep(2000); // 模拟一个耗时2秒的操作

console.log("同步代码执行完成");

异步代码则不会等待上一行代码执行完成,而是会继续执行下一行代码,同时在后台执行一些其他任务。当异步任务完成后,会触发一个回调函数来处理任务的结果。这样可以避免页面的卡顿,提高用户体验。

示例代码:

console.log("开始执行异步代码");

console.log("异步代码执行中...");

setTimeout(function() {

console.log("异步代码执行完成");

}, 2000); // 模拟一个耗时2秒的操作

console.log("异步代码继续执行");

在上面的示例中,setTimeout函数用于模拟一个耗时2秒的操作。这个函数接受两个参数,第一个参数是一个回调函数,表示异步任务完成后要执行的操作;第二个参数是一个时间值,表示延迟的毫秒数。在执行异步代码时,setTimeout函数会立即返回,不会等待2秒钟。而在2秒钟后,回调函数会被放入事件队列中,等待执行。在这个过程中,异步代码会继续执行,不会被阻塞。

同步代码是按照顺序执行的,每一行代码都会等待上一行代码执行完成后再执行;而异步代码则会继续执行下一行代码,并在后台执行一些其他任务,当异步任务完成后才会触发回调函数。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码