这可能非常简单,也可能非常复杂,我目前不确定。
我正在编写一个基于 Cineworld API 的小型网络应用程序,它将执行电影时间表。
我正在使用 AJAX 拉回数据,这很好,但我已经到了想要获取所有选定电影的所有时间然后继续操作它们的地步,但是结合所有结果是证明有点问题。
生成的 API 调用只能在单个电影上完成,因此我必须依次拉回每部电影的数据。
您可以在此处查看应用程序的当前状态:http: //www.lewishowles.co.uk/film/
主要内容在这个文件中:http: //www.lewishowles.co.uk/film/js/lh.js
线42
和206
是我的问题。42
总是记录一个空数组,但如果我206
每次都记录下数组,那就没问题了。不过,日志记录显然对我没有多大帮助。看起来登录42
并没有等待它上面的函数中的所有代码完成。
如您所见,我尝试了一个全局数组,我尝试了返回值,但它似乎仍然太快地运行日志。
Deferred 似乎通常是这种情况,但是每次都会有不同数量的 ajax 调用,并且您似乎需要知道使用 Deferred 的数量。
将 async 设置为 false 可以阻止它们相互绊倒,但这无助于这种情况。
我能想到的两件事是使用会话存储或将每个循环的结果隐藏在 HTML 中稍后我必须访问的某个地方,但这两者似乎都容易出现相同的问题。
另一个想法是按下另一个按钮,以便有时间加载数据,但这增加了另一个步骤,并不理想。
有任何想法吗?