js如何实现函数的连续调用

比如我在写自定义过滤的时候使用这样的语法

var filters = angular.module('filters', []);
filters.filter('quality', function() {
    
}).filter('level', function() {
    
}).filter('RMB', function() {
   
}).filter('button', function() {

});

请问如何定义实现类似
a().b().c()或者a().a().a()这样的调用


跃然一笑
浏览 1431回答 1
1回答

大话西游666

非异步的链式调用var obj = {};     obj.func1 = function(){        console.log('func1');        return this;     };     obj.func2 = function(){        console.log('func2');        return this;     };     obj.func1().func2();异步的链式调用(Promise)function runFunc1(){        var p = new Promise(function(resolve,reject){            //异步操作             setTimeout(function(){                console.log('success runFunc1');                 resolve('数据1');             },5000);         });        return p;     }    function runFunc2(){//如果promise没有运行在函数内部会立即执行         var p = new Promise(function(resolve,reject){            //异步操作             setTimeout(function(){                console.log('success runFunc2');                 resolve('数据2');             },5000);         });        return p;     }     runFunc1()     .then(function(data){        console.log(data);        return runFunc2();     })     .then(function(data){        console.log(data);     })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript