跳到主要内容

HttpChangeFeedUnavailableReport

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:322

变更通知通道不可用的那一刻的事实(US-023 AC#17)。

Remarks​

与 HttpEtagUnreadableReport 同一条判例:字段全是观测值,没有结论。 尤其是连接为什么失败读不出来——EventSource 的 error 事件不带状态码、不带响应体, 「端点没实现(404)」「认证过期(401)」「网络断了」在它上面完全重合。替调用方猜一个, 会把人送去修一个本来就对的地方。

Properties​

attempt​

attempt: number;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:335

自上次连接成功以来的失败次数;unsupported-runtime 恒为 0


data?​

optional data?: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:347

malformed-message 时的原始 data 文本;其余情形为 undefined


message​

message: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:349

现成的说明文案


readyState?​

optional readyState?: number;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:343

失败时 EventSource.readyState 原样透出,不作判定。

Remarks​

0(CONNECTING)表示浏览器自己正在重连,本包不插手;2(CLOSED)表示浏览器已放弃, 重连由本包的退避接管。构造器直接抛错时没有实例可读,因此为 undefined。


reason​

reason: "unsupported-runtime" | "connection-error" | "malformed-message";

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:333

观测到的是哪一类事实。

  • unsupported-runtime:当前运行时没有 EventSource(如 Node)。不会重连—— 重试再多次也变不出一个全局构造器。
  • connection-error:连接建立失败或中途断开。
  • malformed-message:连接是好的,但这一条消息解析不出实体名。

retryInMs?​

optional retryInMs?: number;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:345

本包安排的下次重连延迟(毫秒);本包这次不重连时为 undefined


url​

url: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:324

通知端点的绝对 URL