首页 > 其他分享 >async 函数实现

async 函数实现

时间:2023-02-22 17:33:20浏览次数:27  
标签:function return 函数 co 实现 template async txt data

async函数的实现: generator iterator co

 

async function read(){

  let template = await readFile(‘./teamplate.txt’)

  let data = await readFile(‘./data.txt’)

  return template + data

}

 

 等价于 

function read() {

  return co( function *(){

    let template = yield readFile(‘./template.txt’)

    let data = yield readFile(‘./data.txt’)

    return template + data

  })

}

 

 

 

co包裹函数:

 

function co (gen) {

  const it = gen()

  return new Promise((resolve, reject){

    (function next(lastVal){

    const {value,done} = it.next()

    if(done){

    resolve(value)

    }

    return Promise.resolve(value).then(next ,reason=>reject(reason))

    })()

  }

}

 

标签:function,return,函数,co,实现,template,async,txt,data
From: https://www.cnblogs.com/eret9616/p/17145237.html

相关文章

  • 东京大学最新研究成果!一种可实现陆空两栖的新型四足机器人SPIDAR,具备多模态运动能力!
    原创/文BFT机器人现实中,蜘蛛可以凭借飘荡的蛛丝在空中漂浮,让它们能够穿越复杂地形。普通蜘蛛长度只有几毫米,重量只有几十克,如何让比蜘蛛重数百倍的机器人实现多模态运动,是......
  • SQL中日期与时间类型及函数
    ​ 一、日期与时间类型数据类型含义对应范围DATETIME日期和时间1000-01-0100:00:00~9999-12-3123:59:59DATE日期1000-01-01~9999......
  • golang 字符串函数
    1.统计字符串的长度,按字节进行统计packagemainimport"fmt"funcmain(){ vars1string="hello,世界" fmt.Printf("s1字符串的长度为:%v",len(s1))//汉字为......
  • 如何用go实现一个ORM
    如何用go实现一个ORMhttps://mp.weixin.qq.com/s/06pZl4GpM0wAnyZmn7Hjfw如何用go实现一个ORM原创 洪胜杰 哔哩哔哩技术 2023-02-2112:00 发表于上海收录于合集......
  • vue+html5实现上传图片
    原理:dispatchEvent自定义触发事件,常用于自定义鼠标事件或点击事件,原生控件input打开上传文件方案:vue项目,点击自己的上传文件图标,通过dispatchEvent主动触发一个自定义......
  • Day 22 22.1.2:增量式爬虫 - 场景2的实现
    场景2的实现:数据指纹使用详情页的url充当数据指纹即可。创建爬虫爬虫文件:cdproject_name(进入项目目录)scrapygenspider爬虫文件的名称(自定义一个名字即可)起始u......
  • 853~855JQuery,广告显示隐藏,抽奖演示实现
    广告显示隐藏<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>广告的自动显示与隐藏</title><style>#content{width:100%;height:5......
  • 如何实现UPS电源开关机状态远程监测和异常告警?
    随着UPS电源的广泛应用,UPS电源的远程在线监控是物联网技术发展的必然趋势。通过手机、电脑等上的云平台和现场部署的工业智能网关,能够实现UPS电源的远程在线监测、视频监控......
  • Rodrigues 罗德里格斯旋转的用途和实现
    关于刚体旋转,有两种实现途径:一个是轴角/四元数旋转,一个是欧拉角+旋转矩阵。罗德里格斯是轴角旋转出发,但可以清晰地推导出旋转矩阵的形式,所以大致起一个桥梁作用。 关......
  • 各种情况的箭头函数 es6 230222
    无参无返回varfn=()=>{console.log(666)}fn()无参有返回varfn=()=>{return123}varres=fn()alert(res)有参无返回varfn=(num1,num2)=>{cons......