当前位置:首页 > JavaScript

js 实现同步

2026-03-13 17:57:08JavaScript

同步与异步的基本概念

JavaScript 默认是单线程且异步的,但可以通过特定方式实现同步行为。同步代码会阻塞后续执行,直到当前操作完成,而异步代码允许其他任务在等待时继续执行。

使用回调函数实现同步

回调函数可以确保代码按顺序执行,但嵌套过多会导致“回调地狱”。

js 实现同步

function task1(callback) {
    console.log("Task 1");
    callback();
}

function task2() {
    console.log("Task 2");
}

task1(task2);

使用 Promise 链式调用

Promise 的 .then() 方法可以按顺序执行异步操作,避免回调嵌套。

js 实现同步

function asyncTask1() {
    return new Promise(resolve => {
        console.log("Task 1");
        resolve();
    });
}

function asyncTask2() {
    console.log("Task 2");
}

asyncTask1().then(asyncTask2);

使用 async/await

async/await 是更简洁的同步写法,底层基于 Promise。

async function runTasks() {
    await new Promise(resolve => {
        console.log("Task 1");
        resolve();
    });
    console.log("Task 2");
}

runTasks();

使用同步阻塞方法(不推荐)

某些 API 提供同步版本(如 fs.readFileSync),但会阻塞主线程。

const fs = require('fs');
const data = fs.readFileSync('file.txt', 'utf8');
console.log(data);

注意事项

  • 同步操作可能影响性能,尤其是在浏览器中会导致界面冻结。
  • 优先使用 async/await 或 Promise 处理异步逻辑,避免阻塞。
  • Node.js 中部分模块提供同步 API,但需谨慎使用。

标签: js
分享给朋友:

相关文章

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

vue实现js休眠

vue实现js休眠

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

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…