I am trying to learn more about Method chaining in Javascript and would like to know the proper way to create a delay with no jQuery to the next function in the chain:
var foo = function() {
this.delay = function(per) {
setTimeout(start, per);
return this;
};
this.start = function() {
alert('start!');
};
};
var bar = new foo().delay(1000).start();
This isn’t easy to do. jQuery uses a specific queue system.
Suppose you want to do it without jQuery, you would have to implement a queue yourself.
For example this very simplistic implementation :
Demonstration
If you want to chain another function not defined in foo, you may do
Demonstration