• javascript 异步实现方案


    1、回调函数

      fn1( fn2 );

    2、事件监听

    fn1.on('done', fn2);
    
    function fn1() {
      setTimeout(function(){
           fn1.trigger('done');
        },1000)      
    }
    

    3、发布-订阅

    (1)fn2像“信号中心”订阅了done信号
            Jquery.subscribe("done", fn2);
    
    (2) fn1向信号中心发布信号
        function fn1(){
            setTimeout(function(){
                 Jquery.publish("done");  
            },2000)  
        }
    

    4、 promises

    fn1().then(fn2);
    
    function fn1(){
      var dfd = $.Deferred();
      setTimeout(function(){
         resolve();
      },2000);    
    }
    

    5、generator

    var fetch = require('node-fetch');
    
    function * gen(){
         var url = "xxxxx.github";
         var result = yelid fetch(url);
        console.log(result.do);
    }
    
    var g = gen();
    var result = g.next();
    
    result.value.then(function(data){
       return data.json();
    }).then(function(data){
        g,next(data)
    })
    

    6、 async 函数

    async function getStockPriceByName(name) {
      var symbol = await getStockSymbol(name);
      var stockPrice = await getStockPrice(symbol);
      return stockPrice;
    }
    
    getStockPriceByName('goog').then(function (result) {
      console.log(result);
    });
    

      

  • 相关阅读:
    nginx正则配置解释和fastadmin
    Centos7中systemctl命令详解
    layer的iframe层的传参和回参
    centOS下jenkins
    centos下nginx安装和配置
    python文件目录练习题【一】
    python正则模块re使用案例
    python字符串常用方法
    Swoole的多进程模块
    swoole学习
  • 原文地址:https://www.cnblogs.com/wxiaona/p/7543857.html
Copyright © 2020-2023  润新知