0

Ich habe eine Segel App mit den Optionen --no-linker --no-front end erstellt. Das Frontend der Anwendung ist in angular2 geschrieben. Request zu machen und zu posten, scheint gut zu funktionieren.keine Updates für das Modell erhalten. socket.io mit sails.js

Wenn ich eine Get-Anfrage an die Route (zum Abonnieren) senden, bekomme ich keine Updates für das Modell erstellt, aktualisiert oder zerstört.

Ich habe auch eine spezielle Aktion erstellt, also könnte ich selbst etwas tun, aber immer noch ohne Glück.

Die auf der Route durchgeführten Aktualisierungen werden mit Socket durchgeführt. Ich weiß nicht, wo ich falsch liege. Finden Sie meinen Code unten

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

Antwort

0

Also dachte ich, das Problem. Wenn Sie eine Aktualisierung vornehmen (CRUD), erhält der Socket, der eine solche Operation ausführt, keine Aktualisierung.

Ich verbrachte Stunden, bevor ich das herausfinden konnte. Also, was ich tue, ist auf die Daten zu handeln, wenn die CRUD-Operation erfolgreich ist, wie das, was ich in einem Modell mit on

bekommen würde
Verwandte Themen