【发布时间】:2016-10-20 01:01:54
【问题描述】:
我一直在尝试尽可能多地阅读有关 javascript 回调和 jquery 延迟对象的信息,但显然事情并没有为我所用。当我通读它并练习示例时,它似乎有一种模糊的意义,但是当我尝试将它应用于我的具体问题时,我只是碰壁了。如果有人能理解我正在尝试做的事情并提供想法,将不胜感激!
这是一些现有的代码:
$(document).ready(function() {
firstFunction();
secondFunction();
});
为了简单起见,我不会深入讨论 firstFunction() 和 secondFunction() 的作用,但只要说它们都执行异步工作就足够了。
这是我的问题: firstFunction() 依赖于准备好的文档,因此需要在 $(document).ready(function() { } 中。secondFunction() 不依赖于 $(document).ready(function(),但应该只在 firstFunction 完成后执行。我希望在 $(document).ready(function() { } 块之前完成 secondFunction() 的所有计算,但只在 firstFunction() 完成后执行它。这样 firstFunction 和secondFunction 将以更加视觉无缝的方式执行。所以基本上,我想做如下伪代码:
var deferredSecondFunction = secondFunction().compute().defer(); //perform computation for secondFunction but defer execution
$(document).ready(function() {
firstFunction().done.execute(deferredSecondFunction().execute()); //finally execute secondFunction once firstFunction has completed.
});
有谁知道这是否可能?一个重要的警告是,我需要在没有 Javascript Promise 对象的情况下执行此操作,因为由于此问题范围之外的原因,我正在使用的 webkit 是旧版本。如果有人可以帮助我理解这一点,将不胜感激!
【问题讨论】:
标签: javascript jquery callback