如何解决当用户更改活动的浏览器标签时,异步请求或函数是否会暂停执行?
我正在向 UI 添加日志记录,以跟踪页面加载持续时间的各个方面,包括 BE API 调用从服务器返回所需的时间。我知道在过去,切换标签会导致诸如 setTimeout/Interval 和 requestAnimationFrame 之类的问题,但不确定这是否适用于其他更新的异步功能,例如生成器函数、获取或性能 api。
如果用户在 API 调用正在进行中切换回之前切换到另一个选项卡几分钟,那么任何人都可以确认以下是否可以,或者 API 调用的记录持续时间是否不正确?
(我们正在使用 React、Redux、Redux Sagas、Babel、Webpack 和 whatwg-fetch)
const { name,get } = api.foo;
const { mark,getEntriesByName } = window.performance;
mark(name);
response = yield call(get,payload); // user switches to another tab while processing
// user switches back after 2 minutes
const duration = getEntriesByName(name).pop().duration;
yield put(actions.logQueryDuration(name,duration))
在上面的例子中,如果 API 调用实际上只需要 10 秒返回,记录的持续时间会显示 10 秒还是 2 分钟?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。