当前位置:首页 > JavaScript

js 实现同步

2026-01-31 20:00:00JavaScript

同步实现方法

JavaScript 是单线程语言,但可以通过多种方式实现同步操作。以下是常见的同步实现方法:

回调函数

使用回调函数可以确保代码按顺序执行。回调函数在异步操作完成后被调用,从而实现同步效果。

function fetchData(callback) {
  setTimeout(() => {
    callback('Data received');
  }, 1000);
}

fetchData((data) => {
  console.log(data);
});

Promise

Promise 提供更清晰的同步控制链,通过 then() 方法实现顺序执行。

function fetchData() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve('Data received');
    }, 1000);
  });
}

fetchData()
  .then(data => console.log(data));

async/await

async/await 是 Promise 的语法糖,使同步代码更易读。

async function getData() {
  const data = await fetchData();
  console.log(data);
}

getData();

事件监听

通过事件监听器实现同步,当特定事件触发时执行相应代码。

const EventEmitter = require('events');
const emitter = new EventEmitter();

emitter.on('dataReceived', (data) => {
  console.log(data);
});

setTimeout(() => {
  emitter.emit('dataReceived', 'Data received');
}, 1000);

同步 AJAX

虽然不推荐,但可以使用同步 XMLHttpRequest 实现阻塞式同步。

js 实现同步

const xhr = new XMLHttpRequest();
xhr.open('GET', 'url', false); // 第三个参数设为 false 表示同步
xhr.send();
console.log(xhr.responseText);

注意事项

  • 避免在主线程中使用同步操作,会导致界面冻结
  • 现代 JavaScript 开发推荐使用 async/await 或 Promise
  • 同步 AJAX 已不被推荐,可能会被浏览器标记为不推荐使用

标签: js
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js 实现验证码

js 实现验证码

实现验证码的 JavaScript 方法 生成随机验证码 验证码通常由随机字符(数字、字母或混合)组成。以下代码生成一个 6 位随机验证码(数字和字母混合): function generateCa…