繁体   English   中英

如何在 web3 js 中监听智能合约发出的事件?

[英]How can I listen the event emitted from smart contract in web3 js?

我现在正在建立 NFT 质押网站,但我遇到了一个问题。

我已经建立了智能合约并让它发出事件。 但是在前端,我无法正确监听发出的事件。 所以我用硬编码强制收听事件。 代码如下。

var stakeTokenEvent = stakeToken.events.Staked();

let event = await stakeTokenEvent.on({}, function (error, result) {
  if (!error) {
    return result;
  } else {
    dispatch(spinner_show());
  }
});
new Promise(function (resolve, reject) {
  if (event) {
    resolve("success");
  } else {
    reject("error");
  }
}).then(
  (success) => {
    dispatch(ghsp_connect());
  },
  (error) => {}
);

是否有任何简单的方法或正确的方法来监听发出的事件?

来自 web3 文档( myContract.events.NameOfYourEvent()

这是一个简单的例子:

    myContract.events.MyEvent([filter options])
      .on("connected", function(subscriptionId){ console.log(subscriptionId);})
      .on('data', function(event){ console.log(event);})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM