zoukankan      html  css  js  c++  java
  • promise es6,es7

    promise es7写法

    let sleep = (timeountMS) => new Promise((resolve) => {
        setTimeout(resolve, timeountMS,"lja");//第三个参数:计时器到期后,将传递给func指定的函数的其他参数
    });
    (async()=>{for(var i=0;i<5;i++){
    let result = await sleep(1000);
    console.log(new Date, i,result);
    }
    })()

    promise.all es6

    const tasks = []; // 这里存放异步操作的 Promise
    const output = (i) => new Promise((resolve) => {
        setTimeout(() => {
            console.log(new Date, i);
            resolve();
        }, 1000 * i);
    });
     
    // 生成全部的异步操作
    for (var i = 0; i < 5; i++) {
        tasks.push(output(i));
    }
     
    // 异步操作完成之后,输出最后的 i
    Promise.all(tasks).then(() => {
        setTimeout(() => {
            console.log(new Date, i);
        }, 1000);

    参考网址:https://blog.csdn.net/sinat_17775997/article/details/74982484

    当你打开参考网址的大佬的博客看到左侧的时候,你就知道是么叫做大佬。

    es6 promise 

    var sleep = function (time) {
        return new Promise(function (resolve, reject) {
        console.log(1)
            setTimeout(function () {
                resolve();
            }, time);
        console.log(13)
        })
    };
     
    var start = async function () {
        console.log('start');
        await sleep(3000);
        console.log('end');
    };
     
    start();            

    结果是

    start
     1
    13
    Promise {<pending>}
     end

    为什么中间会那样排序?

    https://zhuanlan.zhihu.com/p/23312442   知乎大佬的回答涉及到promise原理性知识和机制.

  • 相关阅读:
    【2020省选模拟】01.18比赛总结
    【2020省选模拟】01.17比赛总结
    利用dockerfile 安装一个tomcat7
    docker的基本安装和命令详解
    jumpserver1.4.1 安装过程
    Redis info参数总结
    ansible-service
    ansible-yum
    centos源码安装mariadb和Galera 多主集群
    ansible常用模块
  • 原文地址:https://www.cnblogs.com/lujunan/p/11624964.html
Copyright © 2011-2022 走看看