반응형
jQuery / Ajax-$ .ajax () 콜백에 매개 변수 전달-사용하기에 좋은 패턴?
시작하는 JavaScript 코드 :
function doSomething(url) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget
});
}
사용하고 싶은 패턴 :
//where elem is the target that should receive new items via DOM (appendChild)
function doSomething(url, elem) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: rssToTarget(elem)
});
}
이런 식으로 작동하도록 콜백을 얻을 수 없다고 생각합니다. 적절한 패턴은 무엇입니까? 일시적으로 elem
또는 요소 이름을 유지하기 위해 전역 변수를 반드시 사용하고 싶지 않습니다 .
이렇게 ...
function doSomething(url, elem) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: function(xml) {
rssToTarget(xml, elem);
}
});
}
귀하의 의견에 대한 답변 : 익명 함수를 사용하면 성능에 영향을 줍니까?
rssToTarget 함수 내에 클로저 를 생성하면 사용하려는 패턴이 작동 할 수 있습니다 .
function rssToTarget(element) {
return function (xmlData) {
// work with element and the data returned from the server
}
}
function doSomething(url, elem) {
$.ajax({ type: "GET",
url: url,
dataType: "xml",
success: rssToTarget(elem)
});
}
경우 rssToTarget(elem)
실행되고, 소자 매개 변수에 저장된 고정 하고 콜백 함수가 실행되기를 기다리고, 복귀된다.
반응형
'programing' 카테고리의 다른 글
이미지를 인터레이스 할 때 (0) | 2020.10.24 |
---|---|
지연 대 약속 (0) | 2020.10.24 |
항상 스마트 포인터를 사용하는 것이 좋은 습관입니까? (0) | 2020.10.24 |
기수를 사용해야하는 이유는 무엇입니까? (0) | 2020.10.24 |
QtCreator 및 명령 줄 인수 (0) | 2020.10.24 |