如何修复Chrome JavaScript探查器中显示的(空闲)问题?

如何修复Chrome JavaScript探查器中显示的(空闲)问题?,javascript,angular,google-chrome-devtools,Javascript,Angular,Google Chrome Devtools,我在一个有角度的页面中有一个JavaScript脚本,它执行一个承诺链,如下所示: foo().then(() => { console.profile("foo1"); ... return foo1(); }).then(() => { console.profileEnd("foo1"); console.profile("foo2"); ... return f

我在一个有角度的页面中有一个JavaScript脚本,它执行一个承诺链,如下所示:

foo().then(() => {
    console.profile("foo1");
    ...
    return foo1();
}).then(() => {
    console.profileEnd("foo1");
    console.profile("foo2");
    ...
    return foo2();
}).then(() => {
    console.profileEnd("foo2");
    console.profile("foo3");
    ...
    return foo3();
})
...
我使用
console.profile
来找出承诺链的哪一部分需要花费如此多的时间来执行。我注意到其中一个分析器(在我的例子中是
foo6
)有350毫秒的空闲时间。什么是一个好的方法来找出为什么它没有执行任何东西,尽管承诺链还没有完成


你在做什么工作?它是否有可能发出网络请求或使用其他资源导致其空闲?为什么使用承诺而不可观察?理想时间意味着该时间段内未使用资源。。可能是因为以下原因:1。它正在等待另一个进程被执行2。如果它是不同的域终结点,则您的客户端正在等待该特定终结点3的握手。可能检查已经建立并正在使用的新连接的数量。请检查是否存在任何最大连接限制也不确定这是否有帮助,但我会将承诺链转换为异步/await方法,例如
await foo();控制台配置文件(“foo1”)。。。等待foo1();控制台.profileEnd(“foo1”);控制台配置文件(“foo2”)。。。等待foo2()我对@kylejrp也有同样的想法。对于foo6函数,主线程处于空闲状态并等待就绪。