如何使用中级'流利'verbage创建'链接'JavaScript API?

时间:2015-05-20 06:06:24

标签: javascript oop methods chaining

我正在创建js sdk,我正在寻找创建用户(API)/用户调用函数的方式;

var user = new user();

user.message.to("username").get.friendlist(function(data){
    //process data received from callback.
});

现在,我知道方法链可以完成,我可以做类似

的东西
function User(Name) {
    this.uname = Name;
}

User.prototype = {
    constructor: User,

    MessageTo: function (username) {
        this.uname = username;
        return this;
    },

    getFriendList: function (callback) {
        callback("My list");
    }
}

我可以在创建User();

的对象后使用它
user.messageTo("username").getFriendList(function(data){
});

但我不知道如何像我正在寻找的那样获得方法调用;

user.message.to("username").get.friendlist(function(data){
});

埃文我不确定是否可能。任何有同样问候的帮助或指针都表示赞赏。

1 个答案:

答案 0 :(得分:1)

正如其他成员评论的那样,还有其他选择可以做同样的事情,但是我必须按照我需要的方式去做,我们是如何设法做到的。

此解决方案符合我的要求,因此可能不适合其他情况。

<强> sdk.js

var User = function(){
UserName = null;
this.message = {

to : function(uname){

  UserName = uname   
  alert('called to '+uname);

  this.get = {
    friendlist : function(callback){
      console.log('called friendlist');
        callback('Hello friendlist :: '+ UserName);
    }
  }
  return this;
  }
  };
}

并使用它;

  var user1 = new User();

  user1.message.to('H.Mahida').get.friendlist(function(data){
      alert('call back says '+ data);
  });

以下是jsfiddle

的链接

希望它可能对某个人有用或指导同一个方向...... !!!