繁体   English   中英

回调队列(调试器)内部是什么?

[英]What is inside Callback queue (debugger)?

我想知道如何知道回调队列的内容。
例如,如果考虑以下Javascript代码:

<script>
    console.clear();   
    setTimeout( function () {console.log("Hello ")},5000);      
    console.log("What is inside Callback Queue ? ");        
</script> 

是否有将回调队列的内容打印到控制台的方法?
如果无法通过这种方式,调试器是否可以通过在console.log("What is inside ...?");添加断点来实现console.log("What is inside ...?"); (我尝试使用Firefox调试器,但没有做到)
还是其他解决方案? 感谢您的回答。

浏览器开发人员工具的“性能”选项卡包含所有需要的信息。 请执行下列操作:

  1. 过滤标记:函数调用(仅避免大量信息)

  2. 开始录音

  3. 重新加载(CTRL + R)

  4. 停止记录(以我的示例为例,将Hello打印到控制台时)

在瀑布中,单击5000ms之后出现的标记(以我的示例为例),并且有用的信息显示在右窗格中。

虽然我不确定您的最终目标是什么,但是可以使用以下wrapper函数wrapper正在调用的函数,该函数在排队时会打印到日志中:

 function wrapper(func) { console.log(`'${func.name}' was enqueued`); return func; } function foo() { console.log('Hello') } setTimeout(wrapper(foo), 5000); 

您可以使用类似的机制来维护一个数组,该数组将包含当前正在等待的所有函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM