0

当我尝试使用 truffle 调用我的solidity 函数时出现此错误。

在此处输入图像描述

我的可靠性代码如下:

pragma solidity ^0.4.14;

contract SimpleDemo {
    function returnNumber () public view returns (uint) {
        return 500;
    }
}

我打电话的方式returnNumber()是:

this.state.web3.eth.getAccounts((error, accounts) => {
    simpleDemo.deployed().then((instance) => {
        simpleDemoInstance = instance
        // Below line runs with the error ...
        return simpleDemoInstance.returnNumber.call()
    }).then((result) => {
        console.log(result)
    })
})

此外,这个解决方案根本没有帮助。因此,我单独询问。

4

1 回答 1

0

它应该是:

simpleDemoInstance.methods.returnNumber().call({ from: accounts[0] });

如果它是一个需要气体的函数(假设你想从元掩码发送)。

如果它不是您使用的应付功能:

simpleDemoInstance.methods.returnNumber().call()

也使用es6。尝试在没有异步等待的情况下编写这些东西是可怕的 IMO。

于 2018-02-13T01:40:32.473 回答