zoukankan      html  css  js  c++  java
  • JavaScrip两个函数的设置为回调

    1.javascript异步编程之回调函数
    function fn2(data){ alert(data) } function fn1(callback){ var data = 12+1; callback && callback(data)//data是fn1的操作结果 } fn1(fn2);

    function fn2(total){ alert("执行完了fn1") alert(total); } function fn1(arr,callback){ var total = arr.reduce(function(a,b,index,arr){ return a + b; }) callback && callback(total)//data是fn1的操作结果 } fn1([1,2,3,4,5],fn2);

     

    2.JavaScript异步编程之事件驱动

    function fn1(arr){
    var total = arr.reduce(function(a,b,index,arr){
    return a+b;
    })
    fn1.trigger('done',total)
    }
    function fn2(total){
    console.log("fn1执行完毕")
    console.log(total)
    }
    _.extend(fn1,Backone.Events);
    fn1.on('done',fn2);
    fn1([1,2,3,4,5]);
    

      3.JavaScript异步编程之发布订阅

    function fn1(arr){
    			var total = arr.reduce(function(a,b,index,arr){
    				return a+b;
    			})
    			fn1.publish('done',total)
    		}
    		function fn2(total){
    			console.log("fn1执行完毕")
    			console.log(total)
    		}
    		$.subscribe("done",fn2);
    		fn1([1,2,3,4,5]);
    

      4.JavaScript异步编程之Promise

    function fn1(arr){
    	var dtd = $.Deferred();
    	window.setTimeout(function(){
    	var total = arr.reduce(function(a,b,index,arr){
    		return a+b;
    	})
    	dtd.resolve(total);
    },1000)
    		return dtd
    }
    	function fn2(total){
    		console.log("fn1执行完毕")
    		console.log(total)
    	}
    	fn1([1,2,3,4,5]).then(fn2);
    

      

    作者:freddyhuang
    出处:https://www.cnblogs.com/freddyhuang
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    2021软工-提问回顾与个人总结
    2021软工-调研作业-Notion
    2021年软工-个人阅读作业2
    tester
    tableau学做两个集合的维恩图(文氏图)Venn diagram 二维文氏图
    python学习
    pv操作是否会造成死锁呢?
    提问的正确姿势
    【BUAA OO Unit3】史上最全OpenJML摸索实录
    MVC和三层架构的区别
  • 原文地址:https://www.cnblogs.com/freddyhuang/p/7268853.html
Copyright © 2011-2022 走看看