|
|
@@ -377,8 +377,8 @@ const clearAllCanvases = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-// 绘制单个股票的趋势图
|
|
|
-const drawTrendChart = (stock) => {
|
|
|
+// 绘制单个股票的趋势图(带重试机制)
|
|
|
+const drawTrendChart = (stock, retryCount = 0) => {
|
|
|
const canvasId = 'chart-' + stock.code
|
|
|
let trendData = stock.trendData
|
|
|
|
|
|
@@ -394,7 +394,14 @@ const drawTrendChart = (stock) => {
|
|
|
.fields({ node: true, size: true })
|
|
|
.exec((res) => {
|
|
|
if (!res || !res[0] || !res[0].node) {
|
|
|
- console.warn('[趋势图] 获取canvas节点失败:', canvasId)
|
|
|
+ console.warn('[趋势图] 获取canvas节点失败:', canvasId, '重试次数:', retryCount)
|
|
|
+
|
|
|
+ // 增加重试机制,最多重试 3 次
|
|
|
+ if (retryCount < 3) {
|
|
|
+ setTimeout(() => {
|
|
|
+ drawTrendChart(stock, retryCount + 1)
|
|
|
+ }, 200 * (retryCount + 1)) // 递增延迟:200ms, 400ms, 600ms
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -426,7 +433,14 @@ const drawTrendChart = (stock) => {
|
|
|
.boundingClientRect()
|
|
|
.exec((res) => {
|
|
|
if (!res || !res[0]) {
|
|
|
- console.warn('[趋势图] 获取canvas节点失败:', canvasId)
|
|
|
+ console.warn('[趋势图] 获取canvas节点失败:', canvasId, '重试次数:', retryCount)
|
|
|
+
|
|
|
+ // 增加重试机制,最多重试 3 次
|
|
|
+ if (retryCount < 3) {
|
|
|
+ setTimeout(() => {
|
|
|
+ drawTrendChart(stock, retryCount + 1)
|
|
|
+ }, 200 * (retryCount + 1)) // 递增延迟:200ms, 400ms, 600ms
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|