• nodejs 异步promise用法


    Promise提供了一种异步执行模式。
    注意一点Promise的执行仍然是异步方式的,并没有改变成同步执行模式,只不过让代码写起来读起来像是同步执行一样。

    在node.js中,回调函数的多重嵌套可能会导致代码难以维护。因此,我们借助Promise来封装异步函数,
    使用统一的链式API来避免函数不断的嵌套匿名函数,脱离这多重回调的麻烦,使代码可读性更强。

    简单来说,Promise就是把函数的嵌套改成了并列,使其代码更友好。

    Promise对象一般有三种状态:Pending(未完成),Fulfilled(操作成功),Rejected(操作失败)

    function pick(){
        var p=new Promise((resolve,reject)=>{
            setTimeout(()=>{
                console.log('挑拣完成',new Date());
                resolve();
            },500);
        });
        return p;
    }
    
    function groundMouth(){
        var p=new Promise((resolve,reject)=>{
            setTimeout(()=>{
                console.log('磨口完成',new Date());
                resolve();
            },400);
        });
        return p;
    }
    
    function blow(){
        var p=new Promise((resolve,reject)=>{
            setTimeout(()=>{
                console.log('吹气完成',new Date());
                resolve();
            },300);
        });
        return p;
    }
    
    function PEbag(){
        var p=new Promise((resolve,reject)=>{
            setTimeout(()=>{
                console.log('已套PE袋',new Date());
                resolve();
            },200);
        });
        return p;
    }
    
    function pack(){
        var p=new Promise((resolve,reject)=>{
            setTimeout(()=>{
                console.log('装箱结束',new Date());
                resolve();
            },100);
        });
        return p;
    }
    
    pick()
    .then(function(data){
        return groundMouth();
    })
    .then(function(data){
        return blow();
    })
    .then(function(data){
        return PEbag();
    })
    .then(function(data){
        return pack();
    })
    

  • 相关阅读:
    Hit Event 击中碰撞
    基于ReentrantLock通知唤醒的生产消费模式
    spring 源码构建
    读写分离、分库、分表
    python 反射的使用
    基础算法
    git 命令使用
    java设计模式应用
    linux 中python的使用
    linux命令
  • 原文地址:https://www.cnblogs.com/pansidong/p/16396677.html
Copyright © 2020-2023  润新知