JS如何在异步方法执行完毕后执行某个方法,要求不能修改该异步方法

我调用了一个异步方法,但是并不知道这个异步方法什么时候执行完毕。
而我想在这个方法执行完毕之后进行DOM操作。

要求是,这个异步方法是第三方库,我不能对它进行修改。

比如这样

DUOSHUO.EmbedThread(el);  //这是一个异步方法,是由多说提供的评论组件,用于渲染文章的评论。

然后我想在这个方法执行完毕后对这个方法产生的DOM节点进行操作。


目前我使用的方法是这样的,设置个定时器不停获取DOM节点,直到能获取到DOM节点,再对DOM节点进行操作。显然这样效率不是很高但是没办法。

var interval = setInterval(()=>{
    if(el.getElementsByClassName('ds-like-thread-button').length>0) {
        clearInterval(interval);
        //操作DOM节点
    }
},100);
回复
阅读 4.1k
3 个回答

这个函数沒有提供callback吗,看一下它的文档

自己改下它的源码呗,加个回调函数

这个方法有返回值么 promise 试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏