当前位置:首页 > JavaScript

js 异步实现

2026-04-06 17:26:13JavaScript

异步实现方法

JavaScript 提供了多种异步编程的实现方式,主要包括回调函数、Promise、async/await 和生成器(Generator)。以下是这些方法的详细说明。

回调函数

回调函数是最基础的异步实现方式,通过将函数作为参数传递给另一个函数,在异步操作完成后执行回调。

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

fetchData((data) => {
    console.log(data); // 输出: Data fetched
});

Promise

Promise 是 ES6 引入的异步解决方案,提供了更清晰的链式调用方式。

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

fetchData()
    .then((data) => {
        console.log(data); // 输出: Data fetched
    })
    .catch((error) => {
        console.error(error);
    });

async/await

async/await 是 ES7 引入的语法糖,基于 Promise,使异步代码看起来像同步代码。

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

async function main() {
    try {
        const data = await fetchData();
        console.log(data); // 输出: Data fetched
    } catch (error) {
        console.error(error);
    }
}

main();

生成器(Generator)

生成器通过 yield 关键字暂停和恢复函数执行,结合 Promise 可以实现异步操作。

js 异步实现

function* fetchData() {
    yield new Promise((resolve) => {
        setTimeout(() => {
            resolve('Data fetched');
        }, 1000);
    });
}

const generator = fetchData();
generator.next().value.then((data) => {
    console.log(data); // 输出: Data fetched
});

选择建议

  • 回调函数:适合简单的异步操作,但容易导致回调地狱。
  • Promise:适合链式异步操作,代码更清晰。
  • async/await:适合需要同步写法的复杂异步逻辑。
  • 生成器:适合需要精细控制执行流程的场景。

根据具体需求选择合适的异步实现方式。

标签: js
分享给朋友:

相关文章

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js 多选 实现

js 多选 实现

实现多选的 JavaScript 方法 使用复选框(Checkbox)实现多选 通过 HTML 的 checkbox 元素配合 JavaScript 实现多选功能。用户可以选择多个选项,提交时获取所有…