当前位置:首页 > 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 实现阻塞式同步。

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

注意事项

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

js 实现同步

标签: js
分享给朋友:

相关文章

js实现全选

js实现全选

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

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…