我写了一个简短的代码来尝试在组件中路由解析器和订阅。这里是路由配置:
{
path: '',
component: EventsComponent,
resolve: {
events: EventsResolverService
}
},
...
Resolver简单地实现Resolve接口:
import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { EventInterface } from './event-interface';
import { EventsService } from './events.service';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class EventsResolverService implements Resolve<Map<number, EventInterface>> {
constructor(private eventsService: EventsService) { }
public resolve(): Observable<Map<number, EventInterface>> {
console.log('Resolver in progress');
return this.eventsService.asObservable();
}
}
然而,我用来获取可观察事件地图的服务:
public asObservable(): Observable<Map<number, EventInterface>> {
if (this.events.size) {
return of(this.events);
} else {
this._hydrate();
console.log('Events are : ' + this.events.size);
return of(this.events);
}
}
最后,在组件的ngOnInit()方法中:
public ngOnInit(): void {
this.activatedRoute.data.subscribe(
(events: Map<number, EventInterface>) => {
console.log('Hi events resolved ' + events.size);
this.eventsMap = events;
},
(error: any) => {
console.log('Something went wrong : ' + error);
}
);
}
控制台消息总是返回:未定义,但在服务中,事件映射大小正确返回:
这段代码有什么问题?
您正在以错误的方式处理由ActivatedRoute.data
发出的值。
this.activatedRoute.data.pipe(map(data=>data.events)).subscribe(
(events: Map<number, EventInterface>) => {
console.log('Hi events resolved ' + events.size);
this.eventsMap = events;
},
(error: any) => {
console.log('Something went wrong : ' + error);
}
);
1.使用者角度 为企业、组织或个人提供一种信息传播方式,用对口的内容达成企业、组织与成员之间的沟通和知识传播。体现在为用户提供内容服务,传达各类资讯,用户订阅后,可在轻推客户端定期接收到内容资讯的推送 2.开发者角度 主要通过会话的形式为用户提供服务,用户在协同界面点击订阅号图标后,可直接进入与订阅号的聊天界面,开发难度低,支持在后台定制菜单,通过菜单引导用户到不同的去处。通知消息会被折叠在订阅消
我使用SockJS和StompJS,当我在浏览器中打开我的应用程序时,有时它会在连接到websocket之前尝试订阅一些主题。我希望主题订阅等待应用程序连接到websocket。 这就是我实现此代码的原因,我将其称为: 因此,我只在连接状态为时才订阅该主题,并且只有在客户端首次成功连接时才会调用该主题。 我想稍后从主题中取消订阅,所以我需要内部订阅返回的对象,我还需要内部订阅的消息。 我所实现的很
问题内容: 为什么数据存储Redis具有发布/订阅功能?我首先想到的是实现这样的事情是错误的层。但也许我需要跳出框框思考。 问题答案: Redis被定义为数据结构服务器。Redis提供了多种功能,例如内存缓存,队列,发布订阅等。这对于cloudapp / webstack非常有用,其中3个组件RabbitMQ(排队)+ XMPP(发布订阅)+内存缓存目前可以用redis代替。排队功能不如Rabbi
我有两面性。 一方面,通过使用ws(一个node.js WebSocket库)或socket.io之类的库/包,我可以直接使用WebSocket协议。在这里,我可以使用测试工具从或开始订阅和寻址,比如并接收更新。 另一方面,我通过使用诸如这样的组件来使用GraphQL订阅。似乎这样我应该使用GraphQL中嵌入的东西。用这种方式开发的项目不能通过或地址访问,或者至少我不知道。 我的问题是两者之间有
https://github.com/azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.azure.servicebus/topicsubscriptionwithruleoperationssample 现在我想添加一个筛选器/规则,这样只有通过筛选器中定义的特定条件的消息才应该给订阅。 例如,下面
我正在尝试使用spring-integration-kafka-2.1.0。在我公司的项目中发布。但是,由于下面列出的例外情况,它不起作用:org。springframework。信息。MessageDeliveryException:Dispatcher没有频道“org”的订户。springframework。网状物上下文WebApplicationContext:/order。“奥Kafka”