0

我使用選項--no-linker --no-front end一個帆創建的應用程序。該應用程序的前端寫入angular2。請求獲取和發佈,似乎工作正常。沒有得到型號的更新。 socket.io與sails.js

當我發送一個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(); 
    } 
}; 

回答

0

我的代碼,所以我想通了這個問題。當您進行更新時(CRUD),執行此操作的套接字未收到更新。

我搞清楚了這一點之前,花了幾個小時。所以,我做的是對數據的行爲,如果CRUD操作成功像什麼,我會在模型on

獲得上市