我正在构建一个聊天应用程序,我用sse实现了实时聊天功能,我使用了keycloak作为idap,为了允许我不得不使用名为EventSource的自定义EventSourcePolyFill实现,我的前端是用角构建的,我尝试这样做,但我对js并不熟悉,
private getEventSource(url: string): EventSourcePolyfill {
return new EventSourcePolyfill(url, {
headers: {
Authorization: 'Bearer ' + this.kcService.getToken,
},
});
}当我看到开发工具中的承载者发现它是:承载对象承诺
发布于 2022-04-11 15:07:05
查看[object Promise]意味着令牌将异步返回。在这种情况下,您需要await this.kcService.getToken。
允许的最简单方法是使getEventSource()成为异步的。这意味着您需要等待对该函数的调用。等等,在你的呼叫堆栈上。
另一种方法是确保预先获取了keycloak令牌,并将其作为arg传递进来:
private getEventSource(url: string, token: string): EventSourcePolyfill {
return new EventSourcePolyfill(url, {
headers: {
Authorization: 'Bearer ' + token,
},
});
}https://stackoverflow.com/questions/71813294
复制相似问题