当前位置:首页 > JavaScript

js阻塞实现

2026-03-14 02:47:32JavaScript

阻塞实现的方法

在JavaScript中,阻塞通常指同步操作阻止代码继续执行,直到当前任务完成。以下是几种常见的阻塞实现方法:

同步XMLHttpRequest 使用XMLHttpRequest对象进行同步请求,会阻塞代码执行直到请求完成。

js阻塞实现

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com', false); // 同步请求
xhr.send();
console.log(xhr.responseText); // 请求完成后才会执行

同步函数调用 通过循环或递归实现长时间运行的同步操作,会阻塞事件循环。

js阻塞实现

function block(ms) {
    const start = Date.now();
    while (Date.now() - start < ms) {}
}
block(5000); // 阻塞5秒

alert/confirm/prompt 浏览器内置的弹窗方法会阻塞UI线程和JavaScript执行。

alert('This will block execution');
console.log('This logs after alert is closed');

注意事项

  • 同步操作会严重影响用户体验,导致页面无响应。
  • 现代前端开发中应尽量避免阻塞操作,改用异步方案(如Promise、async/await)。
  • Node.js中可以使用child_processworker_threads实现非阻塞的并行处理。

替代方案

对于需要等待的操作,推荐使用异步模式:

// 使用Promise替代阻塞
function delay(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function nonBlockingWait() {
    await delay(5000);
    console.log('5秒后执行');
}
nonBlockingWait();

标签: js
分享给朋友:

相关文章

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…