• 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();
    })
    

  • 相关阅读:
    nginx日志、变量
    http相关
    nginx.conf文件的使用
    NA交换①
    第一章 何为网络
    第二章 以太网
    SATA、SCSI、SAS
    第十章 安全
    附录A 思科互联网络操作系统(IOS)
    标准ACL、扩展ACL和命名ACL的配置详解
  • 原文地址:https://www.cnblogs.com/pansidong/p/16396677.html
Copyright © 2020-2023  润新知