当前位置: 首页 > news >正文

国家住建部官网seo顾问能赚钱吗

国家住建部官网,seo顾问能赚钱吗,网站12栅格系统怎么做,沧州免费网站建设iterator和generator iterator es6: let/const ...展开 迭代器 是一种机制,比如在控制台输出Iterator是没有这个类的,为不同的数据结构提供迭代循环的机制。 迭代器对象:具备next方法,next能够对你指定的数据进行迭代循环&#x…

iterator和generator

iterator

es6: let/const ...展开 

迭代器

是一种机制,比如在控制台输出Iterator是没有这个类的,为不同的数据结构提供迭代循环的机制。

迭代器对象:具备next方法,next能够对你指定的数据进行迭代循环,next依次取出集合中的每一项。第一次执行next拿第一项,第二次执行next拿第二项……

内部实现

具备Symbol.iterator

JS - iterator(迭代器)

内部实现

ps.done为true结束那个循环,为true时那个值也不要了

obj={name:'angela',age:18,sex:'female'}
Object.prototype[Symbol.iterator]=function(){
    let self=this;
    let keys=Object.keys(self)
    let index=0;
    return {
        next(){
            // 边界校验
            if(index>=keys.length){
                return {
                    value:undefined,
                    done:true
                }
            }
            let key=keys[index++];
            let value=self[key];
            return {
                value,
                done:false,
            }
        }
    }
}
console.dir(obj)
for(let value of obj){
    console.log(value)
}

JS中的循环

new Array(99999999)  // 这个时候还是一个稀疏数组

稀疏数组是不能使用for of循环的,使用fill填充

generator生成器

生成了一个具有迭代器规范的对象(迭代器对象),

返回一个迭代器对象

通过next&yield控制函数体中的代码一步步执行

每次next得到的value就是每次执行到yield(或return)后的值

每次next传值作为上次yield的返回结果

yield* 进入生成器执行

串行

终极解决方案:递归实现

初级版

判断是否是promise


function wait(timeout){return new Promise(resolve=>{setTimeout(function() {resolve()}, timeout);})
}
function* asyncFuncton(){yield wait(1000)
    console.log('第1秒')yield wait(2000)
    console.log('第2秒')yield wait(3000)
    console.log('第3秒')
}
it=asyncFuncton()
function isPromise(obj){if(typeof obj ==='object' && obj != null || typeof obj ==='function'){if(obj.then && typeof obj.then ==='function'){return true}}return false
}
function co(it){return new Promise((resolve,reject)=>{function next(){let { value,done }=it.next()
            console.log(value,done)if(done) return resolve();// 处理value为非promise的情况if(!isPromise(value)) value=Promise.resolve(value)
            value.then(()=>{next()}).catch((e)=>reject(e))}next()})}
co(it);

完善版:

http://www.hkea.cn/news/423831/

相关文章:

  • 佛山做外贸网站服务新闻发稿平台
  • 做网站前怎么写文档域名收录
  • 中信建设有限责任公司钟宁关键词优化的方法有哪些
  • 建站之星平台优化推广网站排名
  • wordpress 网盘 插件郑州seo外包阿亮
  • 怎样建设网站首页广告营销平台
  • wordpress调起淘宝app什么叫做seo
  • 嘉兴做网站优化的公司网站维护公司
  • css层叠样式会不会影响打开网站的速度百度免费下载安装百度
  • 网站模板制作流程nba交易最新消息汇总
  • 近的网站在线客服系统网络优化工程师前景如何
  • 网站制作职业google入口
  • 广州网站 制作信科便宜网络营销软文范例500
  • 网站建设公开课长沙网站推广和优化
  • 建设网站的需求分析俄罗斯搜索引擎yandex推广入口
  • 可以做英文纵横字谜的网站搜狗网站收录入口
  • web前端开发是不是做网站百家号关键词排名优化
  • 夸克看网站要钱吗电商网站seo优化
  • 自己做网站排版138ip查询网域名解析
  • 东莞做网站 南城石佳2023网站推广入口
  • 广东省省建设厅网站郴州网站建设网络推广平台
  • 校园网站推广方案怎么做应用商店优化
  • 巩义网站建设网络营销公司是做什么的
  • 做网站基本教程一站式营销平台
  • 杭州模板网站建设电脑培训网上培训班
  • 大连做网站不错的公司怎样把广告放到百度
  • 网站上面带官网字样怎么做的网站设计的流程
  • 有个网站是做视频相册的网球排名即时最新排名
  • 论坛网站备案流程图优化大师怎么提交作业
  • 织梦政府网站模板百度在线入口