在创建了一个新的目录并传递了所需的选项之后:
const drizzle = new Drizzle(options);对象drizzle.contracts是一个空对象,而不是options中指定的契约数组。因此,尝试通过调用以下命令来访问合同事件:
drizzle.contracts.MyContract.events将导致错误:
TypeError:无法读取未定义的属性“events”
这是因为drizzle.contracts.MyContract是未定义的。drizzle.contracts是一个空对象。
发布于 2019-02-16 18:20:28
毛毛雨对象的新实例不是立即初始化的。它是异步完成的。
我们必须等到它完成初始化后才能访问它。
这可以通过以下async代码块来完成,在添加新drizzle实例中的任何契约之前必须调用该代码块。
var state = this.drizzle.store.getState();
while (!state.drizzleStatus.initialized) {
const delay = new Promise(resolve => setTimeout(resolve, 500));
await delay;
state = this.drizzle.store.getState();
console.log(state.drizzleStatus);
}https://ethereum.stackexchange.com/questions/67168
复制相似问题