Generator函数到底有什么用

本文深入探讨了ES6中的Generator函数如何简化异步编程,通过yield和next关键字实现代码的顺序执行,避免了回调地狱,使异步操作更加直观易懂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在了解Generator函数的时候,发现看完Generator函数知道了写法,知道了含义,但是它到底是怎样解决异步的,到底好在哪,灵活在哪,经过好长时间的消化,才算是摸清了点头绪。

再看资料的时候,总会看到这样一句话Generator 函数是 ES6 提供的一种异步编程解决方案,异步编程的解决方案是指在写代码层面上,解决了以往的回调套回调的噩梦,包括promise也一样,还有ES7里的async/await,都是在写的时候对我们理解更友好,说俗了,因为我们习惯了,从上到下写代码,一行代码一行代码的按顺序解析。

那么Generator也一样,什么next,什么yeild给我们了这么多东西我们到底要用来干嘛呢:
看下面代码:

function* generatorText(){
	const result = yield ajax("www.url.com");
	const res = JSON.pase(result).value;
	console.log(res)
}

function ajax(url){
	asyncAjax(url,(res)=>(
		f.next(res)
	))
}
const f = generatorText();
f.next()

这里在generatorText函数中我们就实现了,代码从上而下执行,打印出异步请求的数据了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值