나는 매우 간단한 질문을하지만, 내 머리 위로이 문제를 어떻게 다뤄야할까요? 이 콜백 함수를 값을 캡처하는 데 필요한이 API를 사용하고 있었고, 나는 내 프로젝트에서 사용하고있는 다른 함수에 함수의 출력을 반환하는 데 문제가 있습니다. 예를 들어콜백 함수와 관련된 문제
:
function a() {
var callback = function(e) {
var id = e.data.responseData.Id;
};
Api.getId(callback);
}
내가 변수 ID를 호출하려고하면, 그것은 그래서는 id 값은 전 세계적으로 사용할 수 전달되지 않는 있으리라 믿고있어 나 정의되지 않은 줄 것이다. 다른 측면에서
내가 이렇게 뭔가를 실행하는 경우 :
가function a() {
var callback = function(e) {
var id = e.data.responseData.Id;
console.log(id);
};
Api.getId(callback);
}
제대로 콘솔 ID의 값에 나를 돌아갑니다.
내가 여기에없는 것에 대한 아이디어가 있습니까?
다시 한번 감사드립니다.
라파
귀하의 질문이 충분히 명확하지 않습니다. 코드 예제 전체에 return 문이 없습니다. 어떤 함수가 무엇을 반환해야합니까? – vinit
id 값을 반환한다고 가정합니다. "return id"를 추가하려했지만 작동하지 않았습니다. 본질적으로 그 범위 밖의 다른 기능에 ID를 사용하고 싶습니다. – Rafa
비동기 적으로 값을 반환 할 수 없습니다. 다른 함수에서'id'를 사용해야한다면'id'를 인자로 넘겨 콜백 함수에서 그 함수를 호출하십시오. 예제 -'var callback = function() {id = getId(); foo (id);}' – vinit