前端异步解决方案

70 阅读1分钟

前端异步解决方案主要有以下几种:

  1. 回调函数(Callback)
function getData(callback) {
  setTimeout(() => {
    const data = '异步获取的数据';
    callback(data);
  }, 1000);
}

getData((data) => {
  console.log(data);
});
  1. Promise
function getData() {
  return new Promise((resolve) => {
    setTimeout(() => {
      const data = '异步获取的数据';
      resolve(data);
    }, 1000);
  });
}

getData().then((data) => {
  console.log(data);
});
  1. async/await
function getData() {
  return new Promise((resolve) => {
    setTimeout(() => {
      const data = '异步获取的数据';
      resolve(data);
    }, 1000);
  });
}

async function main() {
  const data = await getData();
  console.log(data);
}

main();
  1. 事件监听(Event Listener)
const eventEmitter = new EventEmitter();

function getData() {
  setTimeout(() => {
    const data = '异步获取的数据';
    eventEmitter.emit('data', data);
  }, 1000);
}

eventEmitter.on('data', (data) => {
  console.log(data);
});

getData();

以上就是前端常用的异步解决方案。