D3 的JSON 回呼中的程式碼執行問題
問題:
問題:在之前的D3 版本中到v5,d3.json()函數回調中編寫的程式碼未執行,導致瀏覽器跳過呼叫中包含的所有內容。
解決方案:
D3 v5 中的簽章變更:
d3.json() 的簽章在D3 v5中已更改。現在它會傳回一個 Promise,而不是依賴回調函數。第二個參數現在是一個可選的 RequestInit 物件。
修改的代碼:
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your original callback here... });
要解決此問題,請重寫代碼如下:
錯誤處理:
D3 v5 不再依賴回呼的第一個參數來進行錯誤處理。相反,如果發生錯誤,d3.json() 返回的 Promise 將被拒絕。d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your original callback here... }) .catch(function(error) { // Error handling code here... });
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your original callback here... }).catch(function(error) { // Error handling code here... });透過實作透過這些更改,您可以確保 d3.json() 回呼中的程式碼將如預期執行。
以上是為什麼我的程式碼沒有在 D3.json() 的回呼中執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!