首頁 > web前端 > js教程 > 主體

為什麼我的程式碼無法在 D3 v5 中的 d3.json() 回呼中執行?

Mary-Kate Olsen
發布: 2024-10-30 15:21:42
原創
381 人瀏覽過

Why Does My Code Fail to Execute Within d3.json() Callback in D3 v5?

D3 v5 中無法執行d3.json() 回呼中的程式碼

在D3 v5 中,d3.json() 回呼中執行程式碼失敗。 json() 回呼經常失敗。這與先前版本中按預期執行回調的行為不同。

原因:

d3.json() 的簽名已從 D3 進行了更改v4 到 v5。在 v5 中,請求是使用 Promise 而不是回呼來處理的。 d3.json() 的第二個參數不再是回調,而是可選的 RequestInit 物件。

解決方案:

要解決此問題,請將程式碼轉換為回呼作為參數傳遞給新的 .then() 方法的回呼函數。程式碼變成:

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback goes here...
  });
登入後複製

錯誤處理:

錯誤處理也已在 D3 v5 中更新。在先前的版本中,錯誤是使用傳遞給 d3.json() 的回呼的第一個參數來處理的。在 v5 中,d3.json() 傳回的 Promise 可能會被拒絕以指示錯誤。可以使用 .catch() 方法擷取錯誤。

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback goes here...
  })
  .catch(function(error) {
    // Handle the error here...
  });
登入後複製

以上是為什麼我的程式碼無法在 D3 v5 中的 d3.json() 回呼中執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!