【问题标题】:not getting updates on model. socket.io with sails.js没有得到模型的更新。带有sails.js 的socket.io
【发布时间】:2017-04-19 19:01:12
【问题描述】:

我有一个使用选项--no-linker --no-front end 创建的帆应用程序。应用程序的前端是用angular2 编写的。请求获取和发布,似乎工作正常。

当我向路由发送 get 请求(订阅)时,我没有收到有关正在创建、更新或销毁的模型的任何更新。

我还创建了一个特殊的动作,所以我可以自己做,但仍然没有运气。

在路由上执行的更新是使用套接字进行的。我不知道这里哪里错了。在下面找到我的代码

import { Injectable, OnInit, EventEmitter } from '@angular/core'
import { Subject } from 'rxjs/Subject';

import { Donor } from './donor.interface';

import * as socketIO from 'socket.io-client'
import * as sailsIO from 'sails.io'


const url = 'http://localhost:1337'
const io = sailsIO(socketIO)
io.sails.reconnection = true;
io.sails.url = url;

io.socket.on('connect', function () {
    console.log("connected to server")

    io.socket.get('/donor', function (data, jwres) {
        console.log("i subscribed", data, jwres)
    })

    io.socket.get('/donor/hello', function (data, jwres) {
        console.log("i subscribed with hello", data, jwres)
    })

    io.socket.on('donor', function (data) {
        console.log("new donor was created", data)
    });
});

io.socket.on('disconnect', function () {
    console.log('Lost connection to server');
});

DonorController.js

module.exports = {
    hello: function (req, res) {
        if (req.isSocket) {
            Donor.watch(req.socket)
            console.log("new subscriber found")
        } else {
            console.log("not a socket req")
        }

        return res.ok();
    }
};

【问题讨论】:

    标签: javascript socket.io sails.js publish-subscribe sails.io.js


    【解决方案1】:

    所以我发现了问题所在。当您进行更新 (CRUD) 时,执行此类操作的套接字不会收到更新。

    我花了几个小时才弄清楚这一点。因此,如果 CRUD 操作成功,我要做的就是对数据采取行动,就像我将在带有 on 的模型上列出的一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 2013-09-18
      • 2016-07-02
      • 2013-10-12
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多