2014-11-06 5 views
0

저는 d3.js 3.4.13을 사용하고 있으며, 문서에서는 d3.json(data, callback)의 콜백 함수가 callback(error, responseData) 형식이어야한다고 말합니다. 그러나 실제로 데이터를 첫 번째 매개 변수로 설정한다는 사실을 발견했습니다. 두 번째 매개 변수는 불필요하므로 대신 callback(responseData)을 사용합니다. 그것은 작동하지만, 왜 내가 문서를 설명하는 것과 같은 방식으로 작동하지 않는지 혼란 스럽습니다. 내가 뭘 놓치고 있니?d3.json 콜백 함수

답변

1

the source에서 빠른보기는 다음과 같은 기능을 보여준다 :

function d3_xhr_fixCallback(callback) { 
    return callback.length === 1 
     ? function(error, request) { callback(error == null ? request : null); } 
     : callback; 
} 

D3가 명시 적으로 .length를 통해 콜백 인수의 수를 확인하고 하나가 있다면, 그 안에 데이터를 저장합니다.

따라서 한 인수 버전은 여전히 ​​예상대로 작동하는 편리한 버전입니다.

+0

신속한 후속 조치 ... 두 개의 인수 버전을 사용할 때 첫 번째 인수에 내 데이터를 설정하는 이유와 두 번째 인수에 데이터를 설정하지 않는 이유에 대한 아이디어가 있습니까? – frajk

+0

그렇게해서는 안됩니다. 구체적인 예가 있습니까? –