Не получать обновления по модели. socket.io с sails.js

У меня есть приложение паруса, созданное с использованием параметров --no-linker --no-front end, Внешний интерфейс приложения написан на angular2, Делая запрос получить и опубликовать, кажется, работает нормально.

Когда я отправляю запрос на получение маршрута (для подписки), я не получаю никаких обновлений о создании, обновлении или уничтожении модели.

Я также создал специальное действие, так что я мог сделать что-то сам, но все же безуспешно.

Обновления, выполняемые на маршруте, производятся с использованием сокета. Я не знаю, где здесь не так. Найдите мой код ниже

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();
    }
};

1 ответ

Решение

Так что я понял проблему. Когда вы делаете обновление (CRUD), сокет, выполняющий такую ​​операцию, не получает обновления.

Я потратил часы, прежде чем понять это. Итак, что я делаю, так это действую на данных, если операция CRUD прошла успешно, как то, что я получу в списке на модели с on

Другие вопросы по тегам