You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Performance API测量异步函数性能时遇标记不存在错误

异步函数性能测量报错的解决办法

性能测量完全支持异步函数,这个错误跟异步无关,根源是标记名称没加字符串包裹。

performance.mark()和performance.measure()要求传入的标记名称是字符串类型,你直接写button_render_start会被当作未定义变量,浏览器找不到对应的标记,才会抛出错误。

修正后的代码如下:

export const renderButton: RenderButtonAPIExternalFunction = function(): void | ButtonObject {
    performance.mark('button_render_start');
    buttonUIRender(); 
}

export async function buttonUIRender() {
        await buttonUIRenderer.renderButton();
        performance.mark('button_render_finish');
        performance.measure(
            'button_render_measure',
            'button_render_start',
            'button_render_finish'
        );
}

异步场景下测量性能的逻辑没问题:只要起始标记在异步操作前创建,结束标记在异步操作完成后创建,且两者的字符串名称完全一致,就能正常完成性能测量。之后可以通过performance.getEntriesByName('button_render_measure')获取具体的延迟数据。

内容的提问来源于stack exchange,提问作者shailesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:50:25