最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Create chained methods in node.js? - Stack Overflow

programmeradmin0浏览0评论

Is it possible to create chained methods that are asynchronous like this in node.js

File.create('file.jpg').rename('renamed.jpg').append('Hello World')

That is to say non-blocking.

Is it possible to create chained methods that are asynchronous like this in node.js

File.create('file.jpg').rename('renamed.jpg').append('Hello World')

That is to say non-blocking.

Share Improve this question edited Mar 23, 2011 at 15:41 700 Software 88k88 gold badges242 silver badges347 bronze badges asked Nov 8, 2010 at 6:13 ajsieajsie 79.9k110 gold badges284 silver badges387 bronze badges 2
  • If it's non-blocking, shouldn't there be a callback function passed in somewhere? – Matthew Flaschen Commented Nov 8, 2010 at 6:31
  • @Matthew: Yeah it should. So I wonder if there is some way to create a method chaining that is asynch. Maybe with a library that could handle it automatically somehow. – ajsie Commented Nov 8, 2010 at 6:48
Add a ment  | 

2 Answers 2

Reset to default 8

You basically want to abstract the asynchronous nature of the file-handling operations on your API.

It can be done, I would remend 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; 
  } 
})(); 
发布评论

评论列表(0)

  1. 暂无评论