zoukankan      html  css  js  c++  java
  • 理解 Promise 过程

    /**
        new Promise(fn1).then(function(val){
                console.log(val);
                 
            }) 
    
          主要是把 then 的函数抽取出来 , 利用闭包存放在 callback中,  再把callback 封装成resole;
    
                resolve执行的时候, 可以传参数给callback执行;


    所以把 fn1 放在 new Promise的时候执行, 这时候的 fn1 被封装了, 带了一个回调函数, 而这个回调函数就是 then 里面的函数 new Promise(fn1), 执行fn1, 异步完成调用resolve, 虽然在new 的时候, callback是空, 但是.then(funtion(val){}) 的时候, callback就有方法了, 等异步完成, callback已经有值 **/ function Promise(fn){ //需要一个成功时的回调 var callback; //一个实例的方法,用来注册异步事件 this.then = function(done){ callback = done; }
    //把fn1放在Promise的执行, 把callback利用回调在resove调用后执行, 顺便传入一些参数 function resolve( dend ){ callback(dend); } fn(resolve); } function fn1(resolve) { setTimeout(function() { console.log('步骤一:执行'); resolve('1'); },500); } new Promise(fn1).then(function(val){ console.log(val); })   

    http://www.cnblogs.com/huansky/p/6064402.html

    segMentflag

  • 相关阅读:
    Hadoop编译源码
    大数据生态体系
    crontab任务调度
    yum概述配置
    如何识别图像边缘
    神经网络入门
    Linux命令locate
    B1299 [LLH邀请赛]巧克力棒 博弈论
    B1090 [SCOI2003]字符串折叠 区间dp
    B1068 [SCOI2007]压缩 区间dp
  • 原文地址:https://www.cnblogs.com/dhsz/p/6693389.html
Copyright © 2011-2022 走看看