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
,但是通过这个解决方案你可以稍后使用套接字来更新你的数据。
这是将数据导入服务的合适应用方式吗?
这就是我希望发生的事情。
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
,但是通过这个解决方案你可以稍后使用套接字来更新你的数据。