d3 request (이 경우 d3.json())을 실행하는 amd 모듈을 만들고 요청에서 데이터를 반환하려고합니다. 모듈이 데이터를 반환하기 전에 요청이 완료 될 때까지 기다리는 방법을 알아낼 수 없습니다. 결과적으로 데이터에 액세스하려고 할 때 주 프로그램에서 정의되지 않은 상태가 계속됩니다.amd 모듈/requirejs에서 d3 요청의 결과를 반환
define(['app/args'], function(args){
d3.json("resources/waterData.php?stn=" + args.stationID, function (error, data) {
var dataToReturn = {};
//Do some stuff with data
return dataToReturn;
});
});
그게 내가하려는 일의 기본 구조입니다. 주요 문제는 데이터가로드 될 때 d3.json의 두 번째 인수가 콜백이므로 데이터를 반환하려고 할 때 모듈 외부로 전달되지 않는다는 것입니다. 콜백에서 데이터를 모듈 외부로 반환하는 방법을 알아낼 수 없었습니다.