我怎样才能在javascript中等待结果?

时间:2011-09-24 10:21:29

标签: javascript

我有一些javascript代码正在加载来自RSS提要的一些数据。

然后我需要处理这些数据,然后从另一个RSS提要中获取更多数据,但这取决于第一个提要的结果。

当我运行我的应用时,它同时处理两个Feed,如何让第二个Feed等待第一个完成?

2 个答案:

答案 0 :(得分:0)

您可以使用setTimeout函数将函数调用推迟指定的毫秒数,如http://www.w3schools.com/js/js_timing.asp中所述

答案 1 :(得分:0)

诀窍是将rss feed的加载视为它们的异常事件。

做这样的事情:

var success1=false, success2 = false;

function onRssFeed1Success() { //lets pretend this gets called when rss feed 1 is loaded

  success1 = true;
  doStuffDependentOnBothFeeds()
}


function onRssFeed2Success() { //lets pretend this gets called when rss feed 2 is loaded

  success2 = true;
  doStuffDependentOnBothFeeds()
}


function doStuffDependentOnBothFeeds() {

 if(success1 && success2) {
   //do stuff
 }
}