Emberjs:使用Websocket后端作为数据源

称呼

一般来说,我对ember.js和客户端开发还很陌生。我当前的设置看起来像这样:

客户端/服务器架构

这不是使用诸如socket.io之类的库。(下面的协议示例)

因此,总的来说,这就是我想要实现的目标。我已经编写了一个对象,该对象将在请求时返回一个Promise。由于在开始时需要登录步骤,因此我想在某个地方创建对象,然后在创建时自动登录。

现在我的问题是:

  • 在ember框架中的哪里定义Class?
  • 创建后在哪里创建/存储对象(由于套接字仅在打开套接字时才有效,因此需要为单例)?
  • 当我需要发送请求时,如何访问对象。

样本登录请求:

要求:

{
    "type": "request",
    "subtype": "apilogin",
    "id": 1234,
    "data": {
        "username": "<string|null>",
        "password": "<string|null>",
        "token": "<string|null>"
    }
}

回答:

{
    "type": "answer",
    "subtype": "apilogin",
    "id": 1234,
    "error": 0,
    "errormessage": "",
    "data": {
        "token": "<string>"
    }
}

令牌只是另一种登录方式,在套接字关闭后的15分钟内有效。(要在出现网络错误或类似情况后重新连接)。

由于我从未真正做过这样的事情,所以我有点问题,例如在框架中的位置以及如何访问它们。

抄送

我认为这种情况非常适合Ember服务要分别回答您的问题:

在ember框架中的哪里定义Class?

任何地方都很好。如果使用的是Ember CLI,则可能要将其放在services目录中。

创建后在哪里创建/存储对象(由于套接字仅在打开套接字时才有效,因此需要为单例)?

Ember容器将为您创建实例。默认情况下,从容器中查找的所有项目都是单例,因此您不必为此担心。

当我需要发送请求时,如何访问对象。

您应该将服务注入所需的类中。摘自我所链接的指南,这会将服务注入到一个类中:

Ember.Component.extend({
    // Make sure you name your object SocketService
    socket: Ember.inject.service()
});

或者,要将其注入到某个类型的所有类中(例如,将其注入到所有路由中),请使用初始化程序:

application.inject('route', 'socket', 'service:socket');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用HTML表作为数据源将数据绑定到Kendo UI模板

来自分类Dev

如何使用数据集作为数据源保留xtraReport的参数

来自分类Dev

使用json作为Assemble.io的数据源

来自分类Dev

字典作为ComboBox的数据源

来自分类Dev

如何使用DataSet作为数据源过滤DataGridView

来自分类Dev

如何使用js数组作为数据源动态更新jquery数据表

来自分类Dev

使用存储桶作为droplink / tree字段的数据源

来自分类Dev

使用字典作为组合框数据源

来自分类Dev

直接使用领域对象(即作为CollectionView数据源)

来自分类Dev

如何使用PostgreSQL数据库作为XMLA数据源?

来自分类Dev

如何使用AWS Lambda接收无尽的WebSocket数据源?

来自分类Dev

使用Snowflake数据库作为SSAS(SQL Server Analysis Services)数据源?

来自分类Dev

我可以使用CSV文件作为Excel数据透视表数据源吗?

来自分类Dev

使用Observable作为数据源的角度拖放

来自分类Dev

在共享JAR的persistence.xml中使用EAR级别定义的数据源作为JTA数据源

来自分类Dev

使用在线.txt文件作为数据源

来自分类Dev

使用flask变量作为高图的数据源

来自分类Dev

CSV作为JavaScript的数据源

来自分类Dev

使用json作为Assemble.io的数据源

来自分类Dev

使用静态类作为数据源

来自分类Dev

使用Node.js作为图表的数据源

来自分类Dev

无法使用MySQL表数据作为数据源来生成Google图表

来自分类Dev

直接使用领域对象(即作为CollectionView数据源)

来自分类Dev

使用HTML类作为Highcharts表数据源

来自分类Dev

使用sframe作为数据源绘制箱线图

来自分类Dev

jQuery数据表使用函数作为ajax数据源,而不是路径或url

来自分类Dev

使用GeoDataFrame作为osgeo.ogr数据源

来自分类Dev

使用 unbouded 数据源的 fixedWindow 作为 parDo 的侧输入?

来自分类Dev

如何使用 MYSQL 作为数据源运行 PredictionIo 引擎?

Related 相关文章

  1. 1

    使用HTML表作为数据源将数据绑定到Kendo UI模板

  2. 2

    如何使用数据集作为数据源保留xtraReport的参数

  3. 3

    使用json作为Assemble.io的数据源

  4. 4

    字典作为ComboBox的数据源

  5. 5

    如何使用DataSet作为数据源过滤DataGridView

  6. 6

    如何使用js数组作为数据源动态更新jquery数据表

  7. 7

    使用存储桶作为droplink / tree字段的数据源

  8. 8

    使用字典作为组合框数据源

  9. 9

    直接使用领域对象(即作为CollectionView数据源)

  10. 10

    如何使用PostgreSQL数据库作为XMLA数据源?

  11. 11

    如何使用AWS Lambda接收无尽的WebSocket数据源?

  12. 12

    使用Snowflake数据库作为SSAS(SQL Server Analysis Services)数据源?

  13. 13

    我可以使用CSV文件作为Excel数据透视表数据源吗?

  14. 14

    使用Observable作为数据源的角度拖放

  15. 15

    在共享JAR的persistence.xml中使用EAR级别定义的数据源作为JTA数据源

  16. 16

    使用在线.txt文件作为数据源

  17. 17

    使用flask变量作为高图的数据源

  18. 18

    CSV作为JavaScript的数据源

  19. 19

    使用json作为Assemble.io的数据源

  20. 20

    使用静态类作为数据源

  21. 21

    使用Node.js作为图表的数据源

  22. 22

    无法使用MySQL表数据作为数据源来生成Google图表

  23. 23

    直接使用领域对象(即作为CollectionView数据源)

  24. 24

    使用HTML类作为Highcharts表数据源

  25. 25

    使用sframe作为数据源绘制箱线图

  26. 26

    jQuery数据表使用函数作为ajax数据源,而不是路径或url

  27. 27

    使用GeoDataFrame作为osgeo.ogr数据源

  28. 28

    使用 unbouded 数据源的 fixedWindow 作为 parDo 的侧输入?

  29. 29

    如何使用 MYSQL 作为数据源运行 PredictionIo 引擎?

热门标签

归档