为什么将其用于回调时,为什么松露控制台打印功能输出到屏幕上



我不太了解松露控制台正在做什么。

如果我在没有回调的情况下调用函数,则将结果发送到屏幕 - 这可能是正确的。

truffle(development)> web3.eth.getAccounts()
[ '0x2f0bcB94F20611a2DDDB0dc6Cf7048A8AdCC6Cf5',
  '0x5C816151433f1B1117876F88944DaA9aeD395A00',
  '0x4DAF004d46482CA2a86CFd48a119c2ee8Df3a534',
  '0xEe8A3EB3F58B0C54f2107F317001Bad6a597367e',
  '0xDa9688aDe62dd636b1Fe8B94b821c435869C63cF' ]

但是,如果我提供回调,它仍然将其发送到屏幕。即,它将结果发送到屏幕并进入我的功能。

truffle(development)> web3.eth.getAccounts( (err,res)=>{ console.log(res); })
[ '0x2f0bcB94F20611a2DDDB0dc6Cf7048A8AdCC6Cf5',
  '0x5C816151433f1B1117876F88944DaA9aeD395A00',
  '0x4DAF004d46482CA2a86CFd48a119c2ee8Df3a534',
  '0xEe8A3EB3F58B0C54f2107F317001Bad6a597367e',
  '0xDa9688aDe62dd636b1Fe8B94b821c435869C63cF' ]
[ '0x2f0bcB94F20611a2DDDB0dc6Cf7048A8AdCC6Cf5',
  '0x5C816151433f1B1117876F88944DaA9aeD395A00',
  '0x4DAF004d46482CA2a86CFd48a119c2ee8Df3a534',
  '0xEe8A3EB3F58B0C54f2107F317001Bad6a597367e',
  '0xDa9688aDe62dd636b1Fe8B94b821c435869C63cF' ]

对我来说似乎并不正确,如何关闭屏幕回声,这确实很烦人,尤其是在迁移脚本中,因为我不希望函数在迁移运行时向屏幕上的函数输出。

这是一个返回值。通过分配变量来捕获它,并且不会进入屏幕。

var c = web3.eth.getAccounts( (err,res)=>{ console.log(res); } )

最新更新