Web3如何订阅事件?无法读取未定义的 属性 'currentProvider'

Web3 how to subscribe to events? Cannot read property 'currentProvider' of undefined

我在尝试订阅私有以太坊区块链上的事件时收到以下错误消息:

无法读取未定义的 属性'currentProvider'

Web3 设置:

const Web3 = require("web3"); this.web3 = new Web3(Web3.givenProvider || "ws://localhost:8545");

作品:

this.factoryContract.getPastEvents(
  "allEvents",
  {
    fromBlock: 0,
    toBlock: "latest"
  },
  (err, events) => {
    console.log(events);
  }
);

抛出错误:

this.factoryContract.events
  .allEvents(
    {
      fromBlock: 0
    },
    (error, event) => {
      console.log(event);
    }
  )
  .on("data", event => {
    console.log(event);
  });

  this.factoryContract.events
  .TaskCreated(
    {
      fromBlock: 0
    },
    (error, event) => {
      console.log(event);
    }
  );

知道如何解决这个问题/错误是什么吗?

节点版本:10.14.2 Web3: 1.0.0

此问题是当前 web3 1.0.0.51 版本的问题,应该会在下一个版本中修复。 https://github.com/ethereum/web3.js/releases