node.js - Async fluent javascript (node) interface (using deferreds) -
what best way build fluent interface in javascript (node.js)
obj.function1().function2().function3();
where functions asynchronous methods?
there module called chainsaw, if possilble deferreds , promises (https://github.com/kriskowal/q)
upd: chain q.js
obj.function1().then(obj.function2) //inside obj.function2 "this" context lost, //and code broken obj.function1().then(funciton(){ obj.function2() // <-- "this" context ok })
deferred implementation allows close, invoke
:
obj.function1().invoke('function2').invoke('function3');
when es6 proxies become reality, there plan allow same functionality code below
obj.function1().function2().function3();
but we're not there yet.
also worth noting in deferred promise
object function equals promise.then
. plain functions can chained as:
function1()(function2)(function3);
i hope that's helpful
Comments
Post a Comment