Generator函数到底有什么用

在了解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函数中我们就实现了,代码从上而下执行,打印出异步请求的数据了。

你可能感兴趣的:(ES6)