可以用作javascript异步模式的函数写法

Posted 来亦何哀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以用作javascript异步模式的函数写法相关的知识,希望对你有一定的参考价值。

        1. 回调函数
        f1();
        f2();

        function f1(callback) {
            setTimeout(function() {
                // f1的任务代码
                callback();
            }, 1000);
        }
        f1(f2); 
        2. 事件监听
        f1.on(‘done‘, f2);

        function f1() {
            setTimeout(function() {
                // f1的任务代码
                f1.trigger(‘done‘);
            }, 1000);
        } 
        3. 发布 / 订阅
        jQuery.subscribe("done", f2);

        function f1() {
            setTimeout(function() {
                // f1的任务代码
                jQuery.publish("done");
            }, 1000);
        }
        jQuery.unsubscribe("done", f2); 
        4. Promises对象
        f1().then(f2);

        function f1() {
            var dfd = $.Deferred();
            setTimeout(function() {
                // f1的任务代码
                dfd.resolve();
            }, 500);
            return dfd.promise;
        }
        指定多个回调函数:
        f1().then(f2).then(f3);
        指定发生错误时的回调函数:
        f1().then(f2).fail(f3);    

 

以上是关于可以用作javascript异步模式的函数写法的主要内容,如果未能解决你的问题,请参考以下文章

Javascript异步编程方法之------“事件监听”

javascript异步编程学习及实例

JavaScript ES6 类是不是可用于异步代码库?

使用ES6 +Promise组织异步代码

简单实现异步编程promise模式

ajax同步请求与异步请求的区别