D3 v5의 d3.json() 콜백 내에서 코드 실행 실패
D3 v5에서는 d3 내에서 코드가 실행됩니다. json() 콜백이 자주 실패합니다. 이는 콜백이 예상대로 실행되었던 이전 버전의 동작과 다릅니다.
원인:
d3.json()의 서명이 D3에서 변경되었습니다. v4에서 v5로. v5에서는 콜백이 아닌 약속을 사용하여 요청을 처리합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!