一个View函数是如何将数据发送到前端的?
How is data sent to the front-end by a View function?
我需要将一些数据从仅查看函数发送到前端。我尝试通过发出具有必填字段的事件来使用标准方法。但是,当将 emit 调用放置在视图类型函数中时,我收到一条错误消息,指出 emit 调用可能会改变状态,因此不能在视图函数中。
如果不能使用事件,View函数如何将数据发送到前端?
event TestEvent (uint id);
function test() public view {
emit TestEvent(123);
}
//Output
... TypeError: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
...
事件的发出永久存储在区块链上。因此,它会导致状态发生变化,必须放在非视图函数中。
相反,可以使用 return
从仅查看函数返回值,例如return 123
我需要将一些数据从仅查看函数发送到前端。我尝试通过发出具有必填字段的事件来使用标准方法。但是,当将 emit 调用放置在视图类型函数中时,我收到一条错误消息,指出 emit 调用可能会改变状态,因此不能在视图函数中。
如果不能使用事件,View函数如何将数据发送到前端?
event TestEvent (uint id);
function test() public view {
emit TestEvent(123);
}
//Output
... TypeError: Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.
...
事件的发出永久存储在区块链上。因此,它会导致状态发生变化,必须放在非视图函数中。
相反,可以使用 return
从仅查看函数返回值,例如return 123