如何掌握JavaScript异步编程的六种方式?

2026-04-09 17:370阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1194个文字,预计阅读时间需要5分钟。

如何掌握JavaScript异步编程的六种方式?

异步编程+众所周知+JavaScript+是单线程工作+也是只有+一个脚本执行完成+才能执行下一个脚本+两个脚本不能同时执行+如果某个脚本耗时很长+后面的脚本都必须排队等着+会延迟执行

异步编程

众所周知 JavaScript 是单线程工作,也就是只有一个脚本执行完成后才能执行下一个脚本,两个脚本不能同时执行,如果某个脚本耗时很长,后面的脚本都必须排队等着,会拖延整个程序的执行。那么如何让程序像人类一样可以多线程工作呢?以下为几种异步编程方式的总结,希望与君共勉。

  1. 回调函数
  2. 事件监听
  3. 发布订阅模式
  4. Promise
  5. Generator (ES6)
  6. async (ES7)

异步编程传统的解决方案:回调函数和事件监听

初始示例:假设有两个函数, f1 和 f2,f1 是一个需要一定时间的函数。

function f1() { setTimeout(function(){ console.log('先执行 f1') },1000) } function f2() { console.log('再执行 f2') }

回调函数

因为 f1 是一个需要一定时间的函数,所以可以将 f2 写成 f1 的回调函数,将同步操作变成异步操作,f1 不会阻塞程序的运行,f2 也无需空空等待,例如 JQuery 的 ajax。

阅读全文

本文共计1194个文字,预计阅读时间需要5分钟。

如何掌握JavaScript异步编程的六种方式?

异步编程+众所周知+JavaScript+是单线程工作+也是只有+一个脚本执行完成+才能执行下一个脚本+两个脚本不能同时执行+如果某个脚本耗时很长+后面的脚本都必须排队等着+会延迟执行

异步编程

众所周知 JavaScript 是单线程工作,也就是只有一个脚本执行完成后才能执行下一个脚本,两个脚本不能同时执行,如果某个脚本耗时很长,后面的脚本都必须排队等着,会拖延整个程序的执行。那么如何让程序像人类一样可以多线程工作呢?以下为几种异步编程方式的总结,希望与君共勉。

  1. 回调函数
  2. 事件监听
  3. 发布订阅模式
  4. Promise
  5. Generator (ES6)
  6. async (ES7)

异步编程传统的解决方案:回调函数和事件监听

初始示例:假设有两个函数, f1 和 f2,f1 是一个需要一定时间的函数。

function f1() { setTimeout(function(){ console.log('先执行 f1') },1000) } function f2() { console.log('再执行 f2') }

回调函数

因为 f1 是一个需要一定时间的函数,所以可以将 f2 写成 f1 的回调函数,将同步操作变成异步操作,f1 不会阻塞程序的运行,f2 也无需空空等待,例如 JQuery 的 ajax。

阅读全文