Old*_*zer 5 node.js visual-studio-code
我能够重现我在 VS Code 的 Node 项目中遇到的问题,如下所示:
for (let i=0; i<50; i++) {
let text = [ Math.random()>0.5 ? "abc" : "ABC" ];
console.log(i);
console.log(text);
console.log("*")
}
Run Code Online (Sandbox Code Playgroud)
如果我手动通过,一切正常。
如果我让脚本全速运行,随机迭代,红色“取消”字样将在第一次console.log打印其输出后打印。从那时起,第二个console.log(text)被跳过或输出一个空白字符串(我无法分辨哪个)。
其他两个console.log()语句继续输出正确的值,直到循环结束。
“已取消”的颜色与我的console.error().
示例运行如下所示,其中在第七次迭代后发生异常:
我多次重复脚本,每次“取消”输出发生在不同的迭代中。如果脚本中的任何地方(不一定在循环中)有断点,则“取消”不会发生。
尽管输出错误,但所有变量的值似乎都是正确的。在我的实际代码中,我将 的最终值保存text到文件中,并且它们正确检出。
发生了什么,有什么需要担心的吗?
我也有同样的问题。我认为这是某种 VSCode 错误。当我在事件回调中
打印 时,行为按预期进行。但过了一会儿,主线程存在并输出。dataconsole.logconsole.logCanceled
import some modules...
vtgeojson(tiles, { tilesOnly: true })
.on('data', function (data) {
featurecollection.features.push(data);
console.log(data)
})
.on('end', function () {
console.log(featurecollection);
console.log(featurecollection.features.length);
})
Run Code Online (Sandbox Code Playgroud)
data当我设置断点并逐行打印时,问题就消失了。
当我在 powershell 中运行脚本时,问题也消失了。
虽然console.log被取消了,但是data已经成功推入了feature list。该行为很可能是由 vscode 终端或 vscode 处理命令的方式引起的console.log。
我的节点版本是v12.20.0,VSCode版本是:
Version: 1.51.1 (system setup)
Commit: e5a624b788d92b8d34d1392e4c4d9789406efe8f
Date: 2020-11-10T23:34:32.027Z
Electron: 9.3.3
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Windows_NT x64 10.0.17763
Run Code Online (Sandbox Code Playgroud)
我发现其他人也有类似的问题。
打印数组时奇怪的node.js console.log() 输出行为
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |