Create chained methods in node.js?
Is it possible to create chained methods that are asynchronous开发者_如何学JAVA like this in node.js
File.create('file.jpg').rename('renamed.jpg').append('Hello World')
That is to say non-blocking.
You basically want to abstract the asynchronous nature of the file-handling operations on your API.
It can be done, I would recommend you to give a look to the following article:
- Asynchronous method queue chaining in JavaScript
The article was written by Dustin Diaz, who currently works on the @anywhere JavaScript API, and he does exactly what you want, using a using a simple Queue implementation, a fluent interface can be created, being independent of any callback.
The asynchronicity is hidden and it is handled internally by your API, it's a nice and simple technique.
Sure, like any JavaScript, you just return an object that has that method.
One possible layout (among many).
var File = new (function()
{
this.create = function(str)
{
return this;
}
this.rename = function(str)
{
return this;
}
})();
精彩评论