Skip to content

fix(orderbook): handle undefined asks and bids from polymarket api - #1

Open
edc3000 wants to merge 1 commit into
ShawnXU0208:mainfrom
edc3000:fix/orderbook-undefined-TypeError
Open

fix(orderbook): handle undefined asks and bids from polymarket api#1
edc3000 wants to merge 1 commit into
ShawnXU0208:mainfrom
edc3000:fix/orderbook-undefined-TypeError

Conversation

@edc3000

@edc3000 edc3000 commented Mar 6, 2026

Copy link
Copy Markdown

这个 PR 修复了什么问题?

修复了一个在生成 MyOrderbookSummary 时导致程序闪退的运行时错误:TypeError: Cannot read properties of undefined (reading 'length')

问题原因

当 Polymarket 的订单簿(OrderBook)API 在极端行情或者是网络瞬间波动时,返回的数据结构中可能偶尔会直接缺失 asksbids 字段,而不是返回预期的空数组 []
这直接导致了代码在执行 raw.asks.length 时触发未知类型异常:
TypeError: Cannot read properties of undefined (reading 'length') at new MyOrderbookSummary (.../dist/data/orderbook.js:19:22) at Timeout._onTimeout (.../dist/index.js:32:33)从而使得整个终端进程崩溃。

修复方案

  • 在访问 raw.asksraw.bidslength 属性前增加了可选安全链(?.)判断。
  • 在对 raw.bidsraw.asks 进行 .reduce 合计或通过 calculateVWAP 计算时,增加了默认空数组回退(|| [])。
  • 修复后,如果 API 返回不完整的订单流,系统将平滑计算处理输出 0 值,而不会造成阻塞与崩溃。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant