javascript 异步编程

来源:互联网 发布:淘宝客代运营 编辑:程序博客网 时间:2024/06/09 00:39
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script src="jquery.min.js"></script>    <script src="backbone-min.js"></script>    <script src="underscore-min.js"></script>    <script>        // 1 异步编程之回调函数        var array = [1,2,3,4,5,6,11];        function f12(number) {            console.log('1.异步编程之回调函数');            console.log(number+1);        }        function f11(arr,callback) {            var total = arr.reduce(function (a, b, index, arr) {                return a+ b;            });            return callback && callback(total);        }        f11(array,f12);        // 2 异步编程之事件监听        function f21(arr) {            var total = arr.reduce(function (a,b,index,arr) {                return a+ b;            });            f21.trigger('done',total);        }        function f22(total) {            console.log('2.异步编程之事件监听');            console.log(total+1);        }        _.extend(f21,Backbone.Events);        f21.on('done',f22);        f21(array);        // 3 异步编程之发布订阅                function f31(arr){            var total = arr.reduce(function (a,b,index,arr) {                return a+ b;            });            $.publicsh('done',total);        }        function f32(_,total) {            console.log('3.异步编程之发布订阅');            console.log(total+1);        }        $.subscribe('done',f32);        f31(array);      //   4异步编程之promises        function f41(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  f42(total) {            console.log('4.异步编程之promises');            console.log(total+1);        }        f41(array).then(f42).fail();    </script></head><body></body></html>
0 0
原创粉丝点击