(一)生成函数与Promise
(二) 生成器函数说明
生成器函数:
在其函数体内实现同步操作
函数原型: function*函数名称(){yield 异步操作}
生成器函数有一个返回值
返回值是一个Generator 生成器对象
该对象中有两个属性 next:是一个函数对象 , 该函数执行完毕后返回一个JS对象,该JS对象中包含value 与 done 两个属性
value:获取 yield关键字后异步对象值 done:是一个布尔类型的数据值 true:yield任务全部执行完毕, false: yield没有全部执行完毕
return : 是一个函数对象 该函数终止后续yield操作,同时改写当前对应yield执行结果
注:生成器函数不能使用 箭头替代
(三)生成器函数参与ajax
myAxios:
yield语句
yield语句是Generator函数内部可以暂停执行程序的语句,yield语句后面的值可以是各种数据类型,字符串,整数,布尔值等等都可以。
总结:
generator能够让我们在函数执行时任意地方暂停,在后续遇到合适的时机需要使用这个函数时继续执行。以往我们遇到的函数都是一口气执行到底,而generator的特点就是让函数执行到中间“刹车”,在需要它的时候接着执行。