当前位置:首页 > JavaScript

js 实现同步

2026-01-31 20:00:00JavaScript

同步实现方法

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

回调函数

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

js 实现同步

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 的语法糖,使同步代码更易读。

js 实现同步

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 实现阻塞式同步。

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

注意事项

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

标签: js
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…