- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以,我看过其他多篇关于类似问题的帖子,但没有一个解决方案有帮助。
我也在 IntelliJ IDEA 15 中进行此开发,而不是 Visual Studio。我目前使用的是 Typescript 2.0.3。
import { Injectable } from '@angular/core';
import { Effect, StateUpdates, toPayload } from '@ngrx/effects';
import { Subject } from 'rxjs/Subject';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/dom/webSocket'
import 'rxjs/add/operator/map';
import { AppState } from '../reducers';
import { NGRXWebSocketService } from '../shared/ngrxWebsocket.service';
import { BASE_URL } from "../shared/ngrxWebsocket.service";
export interface WebsocketMessage {
data: string
}
@Injectable()
export class WebsocketEffects {
constructor(private updates$:StateUpdates<AppState>,
private ngrxWebSocketService: NGRXWebSocketService) {
}
@Effect() _recieve$ = this.ngrxWebSocketService.getSubject()
.map((websocketUpdate: WebsocketMessage) => {
let message = JSON.parse(websocketUpdate.data);
return{ type: message.action, payload: message.payload}
});
}
编辑 1:
这是 NGRXWebsocketService。
import {Injectable} from '@angular/core';
import {$WebSocket, WebSocketConfig} from 'angular2-websocket/angular2-websocket'
export const BASE_URL = 'ws://' + location.hostname + ':9000/socket';
@Injectable()
export class NGRXWebSocketService {
private socket: $WebSocket;
constructor() {
this.socket = new $WebSocket(BASE_URL);
}
public sendRequest(request) {
return this.socket.send(request);
}
public reconnect() {
this.socket = new $WebSocket(BASE_URL);
}
public getSubject() {
return this.socket.getDataStream();
}
}
最佳答案
这看起来像是手动编译期间的输入问题。
在 IDE 中编译时,IDE 可能有内部类型配置,这在您的项目设置中不存在。
npm install typings -g
检查您的package.json
依赖项
。
如果您在dependencies
中有es6-shim
,请在您的项目目录中创建typings.json
:
{
"globalDependencies": {
"es6-shim": "registry:dt/es6-shim",
"node": "registry:dt/node"
}
}
如果您在dependencies
中有core-js
,请在您的项目目录中创建typings.json
:
{
"globalDependencies": {
"core-js": "registry:dt/core-js",
"node": "registry:dt/node"
}
}
类型安装
尝试手动编译。
关于angular - 类型 'map' 上不存在属性 'Subject<{}>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39794171/
如果 Subject 继承自 Observable,那么基于任何 Subject 的下一个选项有什么区别,例如: private val locationSubject: ReplaySubject
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在尝试从内部使用 Rx.Subject 的函数返回一个可观察对象。当然,与任何好的 API 一样,实现细节应该完全从消费者那里抽象出来。但是,使用 Subject.asObservable() 似
我使用 angular2 rxjs 来测试它的多播功能,这是我的代码: var source = Observable.from([1, 2, 3]); var subject = new Subje
我需要一个可以显示每个主题的最高分数计数的查询。假设 3 名学生的科学成绩需要达到 98 分 count marks subject 3 98 Maths 最佳答案 首先找到每个
我正在使用JavaFX 11(OpenFX)运行一些应用程序。该应用程序是用IntellijIdea编写的,并使用gradle构建。在IDE中运行时,一切正常。构建jar时,它构建成功,但是当我尝试执
我继承自模板类。当我进入教师类(class)时,我想进入学科类(class),反之亦然。我收到错误 Invalid use of incomplete type struct Subect; void
Angular 2 和 Typescript 应用。 我在 NPM 包中有一个抽象类,我试图在我的应用程序代码中提供实现。这一切都很好,直到我添加了公众 isLoggedIn:Subject;属性(p
我从 this tutorial 中提取了示例模板代码并执行以下两个步骤开始 - npm install//工作正常并创建了包含所有依赖项的 node_modules 文件夹 npm 开始//失败并出
我需要答案来显示最低分和最高分,同时给出正确的主题 import java.util.Scanner; //import package class Task11 { public stati
如果我的这个类有一个在其生命周期中发出单一值的主题: export class MyClass { myEmitter$: Subject = new Subject(); someMetho
我正在尝试用 ionic 制作一个小应用程序,但是当我从 UI 调用 $scope.saveClass() 函数时它给了我这个错误。 无法获取未定义或空引用的属性“subject” 我不明白,因为他不
背景 我有一个核心数据实体 Entry 与另一个实体 DataField 有关系: class Entry: NSManagedObject { //[...] @NSManaged
我知道这个问题更像是一个语法问题,但是如果你有一组 Penn Treebank 标记,你如何确定句子的“主题”,例如: [WP][VBZ][DT][NN] 是否有任何 Java 库可以接收此类标记并确
我使用 SwiftUI 构建了一个 LoadingView,用于在我从 API 获取远程数据时显示我的应用程序中的一些加载内容。我正在使用 Xcode 版本 11.0 beta 5。 这是Loadin
Subjects 介绍 1. Subjects 是订阅者,也是Observable 订阅者:它能动态的接收新的值。 Observable: 当Subjects有了新值后会通过Event将新值发
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 8年前关闭。 Improve thi
我需要了解主题在 Weblogic 中如何存储和传播。 经过身份验证后,主题存储在 HTTP 层的哪里?在内部,它存储在 HTTPSession 中吗? 同理,EJB层存储在哪里? 我有一个应用程序,
我经常遇到这样的情况,我想要一个 UI 元素来“观察”一个基础值——假设我正在显示一个 int——我想要一个我可以订阅的 IObservable。 我下面一直用的是Subject,直接设置就可以了
我有一个简单的服务。 import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export cl
我是一名优秀的程序员,十分优秀!