JavaScript ES6 : Grouping methods in es6 classes?

标签 javascript class constructor ecmascript-6

我们中的一些人正在尝试创建一个 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/

相关文章:

javascript - 将控制台输出的代码更改为 JSON 输出

javascript - AJAX 是如何工作的

Python 类型错误 : 'str' object is not callable for class

java - 创建对象时如何修复 "Error: Cannot find symbol"?

python - 在类中实现微调器类型对象作为子进程

java - Scanner 构造函数导致 bufferedReader 返回 null

javascript - html 脚本标签的 src 属性中的 "?"是什么?

javascript - Picktime 时间选择器在启用后不禁用时间

Javascript如何在扩展错误中等待 promise

c++ - 如何创建将坐标初始化为随机值的构造函数?