我有以下几种类型: DataService - 使用signalr集线器从服务器获取数据。 AppComponent - 这是我主应用程序的入口点如何在我的信号服务初始化之前推迟加载组件?
数据服务构造函数如下。
constructor(private http: Http) {
var hub = $.connection.spwHub;
hub.client.loadEmployees = this.loadEmployees;
$.connection.hub.start().done(() => {
...
});
}
我AppComponent如下:
constructor(service: DataService) {
this.company = service.getCompany();
service.getEmployees().then(employees => this.employees = employees);
this.departments = service.getDepartments();
}
我得到的当然是下面的错误,因为由集线器连接之前枢纽异步调用至今未归。
EXCEPTION:./AppComponent类中的错误AppComponent_Host - 内联模板:0:0由:SignalR:Connection尚未完全初始化。使用.start()。done()或.start()。fail()在连接启动后运行逻辑。
在AngularJs2中处理这个问题的最佳方法是什么?
我还不确定。我的意思是我想要一个随机函数来处理信号。我可以只是$ .connection.hub.start()。done(()=> {...});但是,这打破了目的。我不想从AppComponent外部加载数据。我不仅需要最初运行一些代码,还必须在加载应用程序组件之前返回代码。 – jwize