我在 index.ts 中调用 time-helper.ts 中的 waitForFn(),出错的调用栈是这样的:
这个调用栈有啥问题呢?只显示出了 time-helper 模块的文件信息,完全不显示调用者的信息,这样一来,完全不知道是谁调用了这个 waitForFn() 函数。你从错误信息里都不知道是哪个函数出错了。
出现这种情况,原因在这里:「链接」
解决办法在这里:「链接」
简单总结下 ,就是:
在异步函数返回之前,系统会清空当前调用线,然后把异步函数中的调用栈写进去。
解决办法 :只要把tsconfig.json文件中的compilerOptions.target改成es2018或以上的版本即可。
改完后效果:
可见整个调用栈都非常清晰。
原来是请求了favicon.ico(浏览器默认会请求一次favicon.ico),那就做下过滤吧。客户端、服务端对我们都不陌生,Node.js中的HTTP接口被设计成支持协议的许多特性。比如,大块编码的消息。这些接口不缓冲完整的请求或响应,用户能够以流的形式处理数据。
为了支持各种可能的HTTP应用,Node.js的HTTPAPI是非常底层的。它只涉及流处理与消息解析。它把一个消息解析成消息头和消息主体,但不解析具体的消息头或消息主体。