构造函数中第二个参数的含义是什么:
(来自此示例(
constructor(private url: string, private WebSocketCtor: { new(url:string): WebSocket } = WebSocket) {}
尤其是结尾处的= WebSocket
部分。为什么我需要这个?在上面的示例中,它被称为这样:
bootstrap(AimApp, [
...,
provide(RxWebSocket, {useFactory: (url:string) => {
return new RxWebSocket(url, WebSocket);
}, deps: [SOCKET_URL]})
]);
由于我对Angular不太熟悉,您将如何称呼它?
{ new(url:string): WebSocket }
这定义了构造函数签名,该签名用于保存类构造函数。= WebSocket
提供了参数WebSocket
类的默认值。
这一点是允许用户插入与WebSocket
类兼容的自定义WebSocket
类,还可以通过为WebSocketCtor
参数提供默认值