【发布时间】:2017-08-04 13:37:10
【问题描述】:
我的网页加载的一个 javascript 文件有这个调用
window.setTimeout(function() {
self.MakeWaterFall(self)
}, 500);
该 .js 文件托管在其他服务器上并加载到网页上,类似于加载来自 CDN 的许多 js 库,并且该文件在 500 毫秒后具有“硬编码”setTimeout 调用
现在,我希望 'MakeWaterFall' 函数稍后在页面上运行
我希望它在自定义触发器触发后运行,在 ajax 数据通过网络传输并在页面上呈现帖子后运行。
这是我需要将 MakeWaterFall fn '移动'到的绑定触发器..
$(window).bind( 'grid:items:added' , function(){
// .. some custom events on elements +
MakeWaterFall(window);
} ) ;
这个问题本质上就像'我可以在 window.setTimeout 运行之前连接并阻止一个规范调用并将其移动到其他地方,后者在代码中'?
也不是说我有其他一堆代码通过 window.setTimeout 代码在其他地方运行,我知道这很糟糕:(
谢谢
【问题讨论】:
-
为什么不在要先执行的函数的回调中调用MakeWaterFall()
-
两个函数都是异步的吗?如果它们是同步的,它们将一个接一个地运行。如果没有,请使用回调。
-
那么这个其他功能是什么样的呢?不能只是在它的末尾调用 self.MakeWaterfall ,或者将它包装到另一个调用两者的函数中?或者是否有一些定时器或异步的东西正在发生?在后一种情况下,您确实需要提供更多上下文。
-
@marvel308 我无法直接进行回调,请参阅我更新的问题..
-
@GolezTrol 我已经更新了问题,看看现在是否更有意义.. 我试图让它更容易理解..
标签: javascript jquery callback visual-composer