异步执行(异步编程)

本文详细介绍了JavaScript异步编程的几种方式,包括回调函数、事件监听、发布订阅模式、Promise/A+、生成器和async/await。通过实例解析了Promise的三种状态和链式调用,以及如何实现并发请求。最后探讨了JavaScript异步编程的演进历程。
摘要由CSDN通过智能技术生成

异步执行(异步编程)

回调函数(Callback)

	ajax(url, () => {
	    // 处理逻辑
	})

事件监听

	f1.on('done', f2);
	function f1() {
	  setTimeout(function () {
	    // ...
	    f1.trigger('done');
	  }, 1000);
	}

发布订阅

假设存在一个"信号中心",某个任务执行完成,就向信号中心"发布"(publish)一个信号,其他任务可以向信号中心"订阅"(subscribe)这个信号,从而知道什么时候自己可以开始执行。这就叫做"发布/订阅模式"(publish-subscribe pattern),又称"观察者模式"(observer pattern)
首先,f2向信号中心jQuery订阅done信号。

	jQuery.subscribe('done', f2);

然后,f1进行如下改写:

	function f1() {
	  setTimeout(function () {
	    // ...
	    jQuery.publish('done');
	  }, 1000);
	}

上面代码中,jQuer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绅士的可怖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值