我有两个(加载缓慢)数据源。我可以在加载数据源 2 后立即开始处理数据源 2,但需要来自 1 和 2 的数据来处理源 1 中的数据。所以我有一些如下代码:
$.get 'url2', (data2) ->
$.get 'url1', (data1) ->
# do stuff with data1 and data2
# do stuff with data2
但是,我想并行加载它们,而不是顺序加载(即我不想在开始加载数据源 1 之前等待数据源 2 加载)。
有什么好的设计模式可以做到这一点吗?
最佳答案
var one = $.get 'url1'
var two = $.get 'url2'
$.when(one, two).then #both
$.when(two).then #just two
使用新的$.when
从 jQuery 1.5 开始。
在这里您可以并行加载它们。并使用从 $.get
返回的“promises”在准备好后运行某些函数。
关于javascript - 用于并行加载依赖数据源的 Coffeescript/Javascript 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185109/