Create chained methods in node.js?

后端 未结 2 763
一个人的身影
一个人的身影 2021-02-10 02:44

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\')


        
相关标签:
2条回答
  • 2021-02-10 03:02

    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.

    0 讨论(0)
  • 2021-02-10 03:02

    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 讨论(0)
提交回复
热议问题