【问题标题】:Create chained methods in node.js?在 node.js 中创建链式方法?
【发布时间】:2010-11-08 06:13:30
【问题描述】:

是否可以在node.js中创建像这样异步的链式方法

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

也就是说非阻塞。

【问题讨论】:

  • 如果是非阻塞的,是不是应该有个回调函数传入某处?
  • @Matthew:应该的。所以我想知道是否有某种方法可以创建异步的方法链接。也许有一个可以以某种方式自动处理它的库。

标签: javascript node.js chaining


【解决方案1】:

您基本上希望抽象 API 上文件处理操作的异步性质。

可以,推荐你看看下面的文章:

本文由 Dustin Diaz 撰写,他目前在 @anywhere JavaScript API 工作,他完全按照您的意愿行事,使用简单的 Queue 实现,可以创建流畅的接口,独立于任何回调。

异步性是隐藏的,它由您的 API 在内部处理,这是一种不错且简单的技术。

【讨论】:

  • @anywhere 链接已失效:(
  • +1 表示图书馆。我确实遇到了github.com/FuturesJS/FuturesJS,它有一个chainify API,但找不到有关如何使用它的信息
【解决方案2】:

当然,就像任何 JavaScript 一样,您只需返回一个具有该方法的对象。

一种可能的布局(在众多布局中)。

var File = new (function() 
{ 
  this.create = function(str) 
  { 
    return this; 
  } 
  this.rename = function(str) 
  { 
    return this; 
  } 
})(); 

【讨论】:

  • 对不起,我忘了告诉你,代码在 Node.js 中必须是异步的。我已经编辑了帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 2020-08-14
  • 2021-01-15
  • 1970-01-01
相关资源
最近更新 更多