Skip to content Skip to sidebar Skip to footer

How Can I Chain My Method Calls?

I have an object: var mubsisapi = { step1 : function(){alert('a')}, step2 : function(){alert('b')} } $.extend(false, mubsisapi) mubsisapi.step1().step2();

Solution 1:

Not JSON, but javascript object. It's not fluent, but it can be:

var mubsisapi = {
        step1   : function(){alert("a"); returnthis;}, 
        step2   : function(){alert("b"); returnthis;}
    }

$.extend(false, mubsisapi)
mubsisapi.step1().step2();

Solution 2:

You need to return this from the function if you want to chain it.

Solution 3:

Yes, your object should look like this:

var mubsisapi = {
    step1   : function(){alert("a"); returnthis; }, 
    step2   : function(){alert("b"); returnthis; }
}

returning itself to allow chaining.

Solution 4:

var mubsisapi = {
        step1   : function(){alert("a"); return mubsisapi;}, 
        step2   : function(){alert("b"); return mubsisapi;}
    }

Solution 5:

You cannot chain your function calls. You either have to call them separately:

mubsisapi.step1();
mubsisapi.step2();

or you can change your step1 function so you can chain them:

var mubsisapi = {
        step1   : function(){alert("a"); return mubsisapi;}, 
        step2   : function(){alert("b")}
    }

$.extend(false, mubsisapi)
mubsisapi.step1().step2();

Post a Comment for "How Can I Chain My Method Calls?"