javascript - 直到 MutationObserver 回调函数彻底执行后页面才会刷新,需要很长时间
问题描述
我正在使用 JavaScript 为网站编写 chrome 扩展程序。当用户单击“更多结果”按钮时,屏幕上会显示更多结果。我用MutationObserver
来监听网站 DOM 的变化并做了一些修改。这是代码。
var mo=new MutationObserver(function(mutations){
mutations.forEach(mo_callback)
})
mo.observe(document,{childList:true})
function mo_callback(mutation){
//first step, run quickly
//second step, make a request to an API, time wasting, need 5 secs or more
}
代码可以工作,但用户体验很差。由于第二步耗时较长,所以直到mo_callback
完成后才显示结果。在加载我的扩展程序之前,用户可以在单击“更多结果”按钮后 1 秒内显示结果,但加载我的扩展程序后需要 5 秒或更长时间。第二步我试过用async function
,但是由于第二步是mo_callback
整体包含的,所以不行。
我希望结果可以立即或在第一步之后显示在屏幕上mo_callback
。如何解决?
感谢你的帮助
解决方案
推荐阅读
- node.js - 使用 Admin Firebase 使用电子邮件和电话提供商创建用户
- java - 实现 cli 应用程序的适当方法,该应用程序还使用 Micronaut 的服务配置文件
- python - 使用常用列值作为数据框的索引设置索引
- database - 为什么 react-native 应用程序不能像 MongoDB 一样使用远程存储?
- db2 - 如何在sql/pl中做一个子过程
- react-native - 如果字符串为空,如何在反应导航中设置默认标题?
- reactjs - 我将如何为来自操作的 JSON 数据定义我的接口?
- php - 从 html 切换到 php 时消失的元素和奇怪的行为
- ubuntu - Gazebo sim 未运行,因为未找到安装的 netifaces 模块
- javascript - 跳过 NULL 并在下拉列表中仅显示唯一值