240 发简信
IP属地:云南
  • const myPromiseAll = (arr)=>{
    let result = {};
    return new Promise((resolve,reject)=>{
    for(let i = 0;i < arr.length;i++){
    if(isPromise(arr[i])){
    arr[i].then((data)=>{
    result[i] = data;
    if(Object.entries(result).length === arr.length){
    const finalResult = [];
    Object.entries(result).forEach(([key,value])=>finalResult[key] = value);
    resolve(finalResult)
    }
    },reject)
    }else{
    result[i] = arr[i];
    }
    }
    })
    }

    JavaScript - promise.all()及实现

    用处:并行执行一系列异步操作,返回结果集。 |Promise.all(iterable)方法返回一个 [Promise],此实例在 iterable 参数内所有的 promi...

  • > a=[]
    []
    > a[0]=0
    0
    > a.length
    1
    > a[2]=2
    2
    > a.length
    3
    > a
    [ 0, <1 empty item>, 2 ]
    >

    所以这里不能直接使用 result. Length === arr.length 如果最后一个promise提前resolve了,那就提前返回值了

    JavaScript - promise.all()及实现

    用处:并行执行一系列异步操作,返回结果集。 |Promise.all(iterable)方法返回一个 [Promise],此实例在 iterable 参数内所有的 promi...

  • 身份证号码的编码规则及校验

    前言 根据最新修订的《中华人民共和国居民身份证法》第二十三条规定,依照《中华人民共和国居民身份证条例》领取的居民身份证,自2013年1月1日起停止使用。即一代身份证已于201...

  • 缺少 computeCheckNumber 的实现吧

    身份证号码的编码规则及校验

    前言 根据最新修订的《中华人民共和国居民身份证法》第二十三条规定,依照《中华人民共和国居民身份证条例》领取的居民身份证,自2013年1月1日起停止使用。即一代身份证已于201...

  • 我也遇到过这个错误,不过我是在 vue.config.js 里面修改的,谢谢😄

    内网穿透 vue 返回 invalid host header

    问题:使用花生壳内网穿透只返回304,invalid host header 原因:新版的webpack-dev-server出于安全考虑,默认检查hostname,如果ho...

  • 120
    八、Flutter 的编译原理与优化

    原文 阿里技术 ,传送门 Flutter简介 Flutter的架构主要分成三层:Framework,Engine和Embedder。 Framework使用dart实现,包括...

  • 个人感觉使用 yourusername.github.io 这个repo的名字不好,建议使用另一个项目名字,如myblog,markdown推送到master分支,发布的东西放在gh-pages分支,同样可以绑定域名(如果不绑定域名则使用 yourusername.github.io/myblog 来访问 )

    我的博客是如何搭建的(github pages + HEXO + 域名绑定)

    博客搭建好之后,貌似很久没有写文章了,现在就来分享一下我搭建博客的艰苦行程和一些莫名其妙的坑。 ps:本博客是在MAC环境下进行搭建的,并且对github pages和一些s...