当前位置:首页 > JavaScript

js用三种方法实现异步

2026-03-02 03:33:22JavaScript

使用回调函数(Callback)

回调函数是异步编程中最基础的方法,通过将函数作为参数传递给异步操作,在操作完成后调用该函数。适用于简单的异步场景,但容易导致“回调地狱”。

js用三种方法实现异步

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

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

使用Promise

Promise对象代表一个异步操作的最终完成或失败,解决了回调地狱问题。通过.then().catch()处理成功和失败状态。

js用三种方法实现异步

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

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

使用async/await

async/await是Promise的语法糖,以同步的方式编写异步代码。async标记函数为异步,await等待Promise解决。代码更清晰,错误处理通过try/catch实现。

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

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

getData();

标签: 三种方法
分享给朋友:

相关文章

vue实现多个方法异步

vue实现多个方法异步

Vue 中实现多个方法异步执行 在 Vue 中实现多个方法异步执行,可以通过多种方式实现,例如使用 Promise、async/await 或 Promise.all 来处理多个异步任务的并发或顺序执…

php 锁 三种实现

php 锁 三种实现

PHP 锁的三种实现方式 文件锁(flock) 文件锁通过 flock() 函数实现,适用于单机环境下的进程同步。 $fp = fopen("lockfile.lock", "w+"); if…

js用三种方法实现异步

js用三种方法实现异步

使用回调函数(Callback) 回调函数是传统的异步实现方式,通过将函数作为参数传递给异步操作,在操作完成后调用该函数。 function fetchData(callback) {…

js实现扩展方法

js实现扩展方法

在JavaScript中实现类似C#的扩展方法可以通过原型链(prototype)或高阶函数实现。以下是几种常见方法: 通过原型链扩展 直接修改内置对象的原型,为其添加新方法(需谨慎,可能影响全局)…

js实现sum方法

js实现sum方法

实现基本的数组求和 使用 reduce 方法对数组元素进行累加: const sum = (arr) => arr.reduce((acc, curr) => acc + curr, 0…

jquery的on方法

jquery的on方法

jQuery的.on()方法 jQuery的.on()方法用于为选定的元素绑定一个或多个事件处理函数。它是jQuery事件绑定的核心方法,取代了旧版的.bind()、.delegate()和.live…