簡體   English   中英

循環中的異步回調函數

[英]asynchronous callback function in a loop

這是與其他問題不同的情況。

我有幾個具有class和data-label屬性的div元素。

<div class='toLoad' data-label='a'></div>
<div class='toLoad' data-label='b'></div>
<div class='toLoad' data-label='c'></div>
<div class='toLoad' data-label='d'></div>

這是JavaScript:

function theData(e) {
  // What do I do here to put the data to their respective div
}

function createScript() {
  var elem = document.querySelectorAll('div.toLoad');
  for (var i = 0; i < elem.length; i++) {
    var theLabel = elem[i].getAttribute('data-label'),
      theLink = "/index/"+ theLabel +"&callback=theData",
      currentItem = elem[i],
      e = document.createElement('script');
    e.src = theLink;
    e.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(e);
  }
}

放置上述Javascript之后,將添加一個script元素。 加載后,腳本將返回一個名為theData的回調函數,其中所有內容均作為參數。 我想將返回的內容附加到它們各自的div元素上。

我不知道如何准確地放入它們。

假設回調方法可用,並且它具有兩個參數數據標簽值(以標識應填充的div)和數據本身

function callback( dataLabel, htmlData )
{
  $( "div[data-label='" + dataLabel + "']".html( htmlData ) );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM