我们中的一些人正在尝试创建一个JavaScript库,以便在RESTful API上快速运行JSON查询。
我想做的是将一组与其目的相关的方法分组。
例如;
通过API,我可以获得用户属性。我没有在主要对象下使用所有这些方法,而是希望将它们分组到API类对象中。
即。 改变这个:
myAPI.getUserById()
To This:
myAPI.User.getByID()
myAPI.User.getByName()
我们将使用下面的代码作为一个简单示例。我如何将我的User方法嵌套在myAPI类中的用户对象中?
class myAPI {
constructor(url) {
this.url = url;
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
解决
class myAPI {
constructor(url) {
this.url = url;
this.UserAPI = new UserClass(this);
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
class UserClass {
constructor(parent){
this.myAPI = parent;
}
}
答案 0 :(得分:6)
您可以使用合成:
class UserAPI {
constructor(url) {
this.url = url;
}
getById() {
}
}
class API {
constructor(url) {
this.url = url;
this.User = new UserAPI(url);
}
}
var myAPI = new API();
myAPI.User.getById();
这样,您可以将所有类别的组分成不同的类。您甚至可以根据用户的要求区分不同的API实现。