使用RxJS将数据从AngularJS服务返回控制器

使用RxJS将数据从AngularJS服务返回控制器,angularjs,websocket,rxjs,angularjs-service,Angularjs,Websocket,Rxjs,Angularjs Service,我正在使用web套接字连接到服务器。 我正在呼叫控制器的服务。 请求将发送到服务器,响应将返回到app.js文件中的服务 现在我需要控制器文件中的响应 任何人都可以帮助我如何将app.js的响应发送到发出请求的控制器 app.js controller.js 使用构建服务 然后简单地订阅消息 app.controller('displayCtrl', function(DataService) { var $ctrl = this; var subscription = DataSer

我正在使用web套接字连接到服务器。 我正在呼叫控制器的服务。 请求将发送到服务器,响应将返回到app.js文件中的服务

现在我需要控制器文件中的响应

任何人都可以帮助我如何将app.js的响应发送到发出请求的控制器

app.js controller.js 使用构建服务

然后简单地订阅消息

app.controller('displayCtrl', function(DataService) {
  var $ctrl = this;

  var subscription = DataService.subscribe(function onNext(message) {
      $ctrl.message = message;
  });

  this.$onDestroy = function() {
      subscription.dispose();
  };
});
客户端可以使用DataService订阅消息。订阅。

此链接可能会有所帮助
app.controller('myController', function($scope, $state, $rootScope,MyService) {
  $scope.currentTemp = MyService.getTemp('requestString');
 console.log( $scope.currentTemp );    

});
<script src="//unpkg.com/angular/angular.js"></script>
<script src="//unpkg.com/rx/dist/rx.all.js"></script>
<script src="//unpkg.com/rx-angular/dist/rx.angular.js"></script>
var app = angular.module('myApp', ['rx']);

app.factory("DataService", function(rx) {
  var subject = new rx.Subject(); 
  // Create our websocket object with the address to the websocket
  var ws = new WebSocket("Server_URL");

  ws.onmessage = function(message) {
      subject.onNext(message); 
  };

  return {
      subscribe: function (o) {
         return subject.subscribe(o);
      }
  };
});
app.controller('displayCtrl', function(DataService) {
  var $ctrl = this;

  var subscription = DataService.subscribe(function onNext(message) {
      $ctrl.message = message;
  });

  this.$onDestroy = function() {
      subscription.dispose();
  };
});