함수에 의해 반환 된 객체 리터럴을 가지고 있으며,이 객체는 iframe을 만들고, iframe 내에 DOM이로드 될 때 몇 가지 작업을 수행합니다. 이벤트가 트리거 될 때 콜백에 의해 반환 된 값을 "가져올"수 싶습니다.addEventListener로 자바 스크립트 콜백 이해하기
var myFunc = function (url) {
return {
url: url,
myMethod: function() {
// some code here to create my iframe.
var callbackFunc = function (event) {
// do some stuff with the dom.
return aValueAsynchronously;
};
var async = my_iframe.addEventListener("DOMContentLoaded", callbackFunc, true);
my_iframe.src = this.url;
}
}
}
내가 그것을 외부에 따라로 사용하고이 코드를 읽은 후 : 여기에 단순화 된 객체입니다
var myValue = myFunc.myMethod('http://www.example.org');
을하고 iframe에로드가 완료되어 example.org는 DOMContentLoaded 콜백 트리거되고, 값 (일부 로직 이후)이 리턴됩니다. 이 값을 myValue (위의 줄)에 할당하려면 어떻게해야합니까? 내가 콜백을 사용해야한다는 것을 이해하지만, 어디서 어떻게?
도움을 주셔서 감사합니다.
답변 해 주셔서 감사합니다. 내가 설명한 두 가지 해결책을 시도해보고 이것이 어떻게 작동하는지 살펴 보겠습니다. :-) –
콜백 값을 직접 전달하여 두 번째 솔루션을 즐겨 사용하십시오! 진정으로 JS의 힘을 보여줍니다! 다시 한 번 감사드립니다! –