运行 zeppelin-solidity 演示显示未定义的 return 消息

running zeppelin-solidity demos shows undefined return message

我正在学习按照 this article 上的步骤部署智能合约。

我使用绝对路径而不是相对路径进行导入,因为编译器无法查看 node_modules 中的导入文件,所以它编译

松露迁移看起来不错,因为当我输入 JCoinCrowdsale.deployed() 它时 returns 完整信息(我为这个例子命名为 JCoin)

但是当我输入 JCoinCrowdsale.deployed().then(inst => { crowdsale = inst }) 时,它 returns undefined

有什么线索吗?

你做对了!我看到您将承诺 JCoinCrowdsale.deployed() 的结果分配给了变量 crowdsale

它显示 undefined 的原因是这个函数 inst => { crowdsale = inst } 没有明确 return 任何东西。

如果您在 truffle 控制台上键入 crowdsale,您将能够看到与键入 JCoinCrowdsale.deployed().

相同的 JavaScript 对象

希望对您有所帮助,祝您学习顺利:-)

试试下面的方法: var crowdsale = JCoinCrowdsale.deployed().then(function(inst) { crowdsale = inst })