我调用了一个异步方法,但是并不知道这个异步方法什么时候执行完毕。
而我想在这个方法执行完毕之后进行DOM操作。
要求是,这个异步方法是第三方库,我不能对它进行修改。
比如这样
DUOSHUO.EmbedThread(el); //这是一个异步方法,是由多说提供的评论组件,用于渲染文章的评论。
然后我想在这个方法执行完毕后对这个方法产生的DOM节点进行操作。
目前我使用的方法是这样的,设置个定时器不停获取DOM节点,直到能获取到DOM节点,再对DOM节点进行操作。显然这样效率不是很高但是没办法。
var interval = setInterval(()=>{
if(el.getElementsByClassName('ds-like-thread-button').length>0) {
clearInterval(interval);
//操作DOM节点
}
},100);
这个函数沒有提供callback吗,看一下它的文档