Skip to content

2.通过生成器实现 ​

本节目标:理解“2.通过生成器实现”的核心思路,并能把它用于实际开发或面试表达。

#
constiterable ={0:'a',1:'b',2:'c',length:3};iterable[Symbol.iterator]=function*(){letindex =0;while(index !==this.length){yieldthis[index++]}}console.log([...iterable]);
# 3.

生成器使用functionco(it){returnnewPromise((resolve,reject)=\>{functionnext(data){let{value,done}=it.next(data);if(!done){Promise.resolve(value).then(data=\>{next(data);},reject)}else{resolve(value);}}next();});} 这里我们主是掌握思想,异步迭代的思想。(产生一个迭代函数,当做回调函数使用)

#

本站总访问 — 次