如何创建一个 'chaining' JavaScript API 中间 'fluent' 字词?
How to create a 'chaining' JavaScript API with intermediate 'fluent' verbage?
我正在创建 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){
});
Evan 我不确定这是否可能。感谢任何具有相同方面的帮助或指示。
正如其他成员评论的那样,还有其他选择可以做同样的事情,但我必须按照我需要的方式去做,这就是我们如何做到的。
此解决方案符合我的要求,因此可能不适用于其他情况。
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);
});
这里是link到jsfiddle
希望它可能对某些人有用或指导相同的方向...!!!
我正在创建 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){
});
Evan 我不确定这是否可能。感谢任何具有相同方面的帮助或指示。
正如其他成员评论的那样,还有其他选择可以做同样的事情,但我必须按照我需要的方式去做,这就是我们如何做到的。
此解决方案符合我的要求,因此可能不适用于其他情况。
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);
});
这里是link到jsfiddle
希望它可能对某些人有用或指导相同的方向...!!!