سؤال

أنا جديدة نسبيا 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
    );
}

شكراMYYN

هل كانت مفيدة؟

المحلول

كنت لا تريد متزامن الطلب.تجربة المستخدم يمكن أن تكون فظيعة.كنت حقا ترغب فقط في تمرير قيمة إلى الاستدعاء بحيث انها لا تعتمد على pid (الذي كما كنت قد لاحظت, عادة ما يكون لها قيمة مختلفة عندما رد تسمى):

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

هنا يمكنني استخدام argument رد الأعضاء على عقد الهوية و المرجعية في وظيفة رد الاتصال نفسها ، وضمان كل رد يستخدم الصحيح الهوية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top