Ember JS:服务 - 从 Socket.io 获取数据

Ember JS: Service - Get data from Socket.io

这是将数据导入服务的合适应用方式吗?
这就是我希望发生的事情。

import Ember from 'ember';

export default Ember.Service.extend({
    model: (function() {
        var data = [];

        var socket = io.connect('http://localhost:8080');

        socket.on('posts', function (data) {
            data = data.posts;
            console.log(data);
        });

        return data;
    })()
});

有没有合适的方法来解决这个问题?
这是将数据导入服务的应用程序合适的方法吗?
文件位置 app/services/posts.js


我假设你想要这样的东西:

export default Ember.Service.extend({
    init() {
        const socket = io.connect('http://localhost:8080');
        socket.on('posts', data => {
            this.set('data', data.posts);
        });
    },
    data: null,
});

但是你应该知道 data 将首先由 null 然后在来自套接字的数据到达时更新。另一种方法是return一个Promise,但是通过这个解决方案你可以稍后使用套接字来更新你的数据。