2009-02-08 2 views
2

로 여기에 표시 :GM_xmlhttprequest에 값을 전달하는 방법이 있습니까?

How can I return a value from GM_xmlhttprequest?

내가 비동기 스크립트가 있습니다. 이 함수에 값을 전달하여 onload 함수를 호출하면 웹 페이지에 표시 할 수 있습니다.

나는이 값이 함수에 전달 될 때마다이 값이 변경된다는 것을 알고 있습니다.

예를 들어 'abc', 'def', 'xyz'를 전달한 경우입니다.

나는

xyz 
xyz 
xyz 

대신

abc 
def 
xyz 

으로 끝낼 것입니다 그래서, 내 질문은 함수의 각 호출이 무엇인지에 알 수 있도록 내가이 함수에 값을 전달 할 방법입니다 완료되면 표시 하시겠습니까? 각각의 뛰어난 요청이 완료된 후 "GHI"을 "데프", "ABC"을 경고 할 것이다

var urls = {"abc": "http://somehost/aurl", 
      "def": "http://somehost/otherurl", 
      "ghi": "http://someotherhost/aurl" } 

for (var k in urls) 
{ 

    GM_xmlhttpRequest({ 
     method: 'GET', 
     url: urls[k], 
     onload: function(text) { 
      return function(xhr) { 
       //Do stuff with xhr responseText etc and the text parameter 
       alert(text) 
      } 
     }(k) 
    } 
} 

이 - :

답변

4

당신은 closure을 찾고 있습니다.

+0

매우 좋습니다. 고맙습니다! – GeoffreyF67

+0

여러 매개 변수의 구문은 무엇입니까? k 뒤에 쉼표 만 추가합니까? 예 : } (k, x) – Doug

관련 문제