我们中的一些人正在尝试创建一个 JavaScript 库以在 RESTful API 上快速运行 JSON 查询。
我想做的是根据它们的目的对一组方法进行分组。
例如;
通过 API,我能够获取用户属性。我不想将所有这些方法都放在主对象下,而是将它们分组在 API 类对象中。
即 转换这个:
myAPI.getUserById()
为此:
myAPI.User.getByID()
myAPI.User.getByName()
我们将使用下面的代码作为一个简单示例。我如何将我的用户方法嵌套在 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;
}
}
最佳答案
你可以使用组合:
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 的不同实现。
关于JavaScript ES6 : Grouping methods in es6 classes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36065247/