每当我执行类似
的操作时,在node.js中运行setTimeout(process.stdout.write, 200, "Test")
我收到以下错误:
Cannot read property 'defaultEncoding' of undefined
我试图设置
setTimeout(process.stdout.write.bind(this), 200, "Test")
仍然无法正常工作
答案 0 :(得分:1)
当您致电process.stdout.write(...)
时,其中的上下文(this
)为process.stdout
。当您将其传递给setTimeout
时,此上下文会丢失。正如您所注意到的,bind
是解决此问题的正确方法 - 但您需要绑定到正确的东西:
setTimeout(process.stdout.write.bind(process.stdout), 200, "Test")