将多个异步调用包装成同步

时间:2014-01-31 19:00:59

标签: javascript asynchronous coffeescript promise deferred

假设我有这样的功能

getAllEpisodes = (show)->
   dfrd = new Deferred()
   eps = []
   for s of show.seasons
      api.getMeAllEpisodes(s.id).done (episodes)->
         eps = eps.concat(episodes)

   return dfrd.promise()

所以我应该何时解决dfrd?在for循环之后无法做到这一点,对吧? 如果事先不知道确切的剧集数量(不进行api调用),也很难实现。

0 个答案:

没有答案