学习ES6之迭代器生成器异步处理,初级篇

本文探讨了如何使用ES6的生成器解决回调地狱问题,通过示例展示了如何利用生成器按顺序加载资源,提高代码可读性和可维护性。
摘要由CSDN通过智能技术生成

生成器(generator的应用)

在上一篇博客上,我写了对数组的扩展、迭代器与生成器的介绍和使用场景,今天我分享一下对生成器处理异步问题的方法

第一个:回调地狱问题

何为回调地狱呢?如果接触过jquery ajax的朋友,一定知道通过用$.get或者$.post的方法获得请求时,请求到的结果在success中,就像这样:

$(function(){
	$.ajax({
		method: "get",
		url: "你数据的网址",
		success(res){
			console.log(res) //res就是你获取到的数据
			//但是我还想继续获取数据,就得再在里面再进行ajax请求
			$.ajax({
				//	再进行一起请求
			});
		}
	})

})

像上面这种ajax里面再套用ajax的方法,一个是扩展性不好,一个就是可读性太差了,写着写着就乱套了,这种问题就叫做回调地狱问题。
处理这种问题,可以用到生成器的方法来解决。

$(function(){
	//1.先生成一个生成器 叫做main()
	function* main(){
		//切记这里的arr不是yield requestData('输入一个数据源的网址')返回的值
		//而是在requestData函数里next()的赋值
		let arr = yield requestData('http://wthrcdn.etouch.cn/weather_mini?citykey=101010100');
		console.log(arr);
	}
	//2.生成一个迭代器
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值