用于并行加载依赖数据源的Coffeescript/Javascript设计模式

Ami*_*mir 2 javascript jquery design-patterns asynchronous coffeescript

我有两个(缓慢加载)数据源.我可以在加载后立即开始处理数据源2,但是需要来自1和2的数据来处理来自源1的数据.所以我有一些代码如下:

$.get 'url2', (data2) ->
    $.get 'url1', (data1) ->
        # do stuff with data1 and data2
    # do stuff with data2
Run Code Online (Sandbox Code Playgroud)

但是,我想并行加载它们,而不是顺序加载它们(即我不想在开始加载数据源1之前等待数据源2加载).

有没有很好的设计模式呢?

Ray*_*nos 7

var one = $.get 'url1'
var two = $.get 'url2'
$.when(one, two).then #both
$.when(two).then #just two
Run Code Online (Sandbox Code Playgroud)

使用$.whenjQuery 1.5中的new .

在这里你平行加载它们.并且使用返回的"promises" $.get在准备好后运行一些函数.