使用Primose方式解决异步编程回调的一些问题--animate动画的例子
function animate(dis, time) { var def = $.Deferred(); $('.boll') .animate({ left: dis + 'px' }, time, function() { def.resolve(time); }); return def; } $('.boll').on('click', function() { $.when( animate(50, 1000), animate(120, 100), animate(200, 500)) .done(function(dd, tt, kk) { console.log(dd, tt, kk) }) });
when里参数必须是Promise对象,when(xxx) 返回的也是一个Promise。