문제

저는 Yui를 비교적 처음으로 사용합니다. 훌륭한 문서를 탐색하면 외부 리소스를로드하는 방법이나 깃발을 찾지 못합니다. 동시에.

또는 다른 방법으로 질문; 일치하는 각 노드에 대해 메소드를 호출해야하며 노드에 무언가를 삽입합니다. 비동기 통화로 기억되었습니다 식별자 엉망인 것 같습니다.

따라서 콜백은

pid

함수가 호출되면 콜백이 실행될 때가 아니라 - 제가 올바르게하고 있습니까?

var platform_ids = YAHOO.util.Selector.query('.platform_id'); 

for (var i = 0; i < platform_ids.length; i++) {
    var pid = platform_ids[i].getAttribute("id");
    var sUrl = "/platform/" + pid + "/description/";
    var callback = { success: function(o) { 
        document.getElementById(pid).innerHTML =  o.responseText; }}
    var transaction = YAHOO.util.Connect.asyncRequest(
        'GET', sUrl, callback, null
    );
}

감사해요. 마이 니

도움이 되었습니까?

해결책

동기 요청을 원하지 않습니다. 사용자 경험은 끔찍할 수 있습니다. 당신은 정말로 의존하지 않도록 콜백에 가치를 전달하고 싶습니다. pid (당신이 알 수 있듯이, 콜백이 호출 될 때 일반적으로 다른 값을 갖습니다) : :

var callback = { success: function(o) 
  { 
    document.getElementById(o.argument).innerHTML =  o.responseText; 
  }, 
  argument: pid
};

여기, 나는 그것을 사용한다 argument 콜백 멤버는 ID를 보유하고 콜백 함수 자체에서 각 콜백이 올바른 ID를 사용하는지 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top