函数链接for循环的条件?

时间:2018-02-21 14:35:30

标签: javascript loops chaining

我有解析html标签的脚本。我需要找到一些元素并用另一个元素替换它们。其中一些人使用ajax请求。

我的代码是这样的:

function Parser(text) {
 var container = $('<div></div>');
 container.html(text).find('.internal_link');
 var links = container.html(text).find('.internal_link');

 for (var i = 0; i < links.length; i++) {
  if ($(links[i]).hasClass('profile_link')) {
    parseProfileLink(links[i]);

  } else if ($(links[i]).hasClass('clan_link')) {
    parseClanLink(links[i]);

  }
 }
  return container.html();
}

所以,在“parseClanLink”里面我有一个ajax请求,当我返回时我没有收到新文本。我需要某种链接但是在那个循环中。

问候!

1 个答案:

答案 0 :(得分:0)

你可以等到异步parseProfileLink使用async / await来完成。

async function Parser(text) {
 var container = $('<div></div>');
 container.html(text).find('.internal_link');
 var links = container.html(text).find('.internal_link');

 for (var i = 0; i < links.length; i++) {
  if ($(links[i]).hasClass('profile_link')) {
    await parseProfileLink(links[i]);

  } else if ($(links[i]).hasClass('clan_link')) {
    parseClanLink(links[i]);

  }
 }
  return container.html();
}

parseClanLink() {
 return Promise(); // your logic inside promise
}