我正在使用truffle部署程序来部署我的可靠合约:
module.exports = function(deployer, network) {
...
}我想在这个迁移过程中的链上存储一些数据。数据的基本存储是通过使用promise回调参数并调用契约上的一些函数来正常工作。但是我需要做一些更复杂的事情,就像下面的代码片段所解释的那样:
deployer.deploy(A).then(instance => {
instance.addB(id, some params ...).then(result => {
// result is not the added B -> using getB() to load B
instance.getB(id).then(instanceB => {
instanceB.addC(id, some params ...);
})
});
})问题是,内部函数没有正确执行。instance.addB()确实正确地将B存储到链中。但是C永远不会存储到链中,我不明白为什么。另外,如果我将console.log('some text')添加到内部函数中,它不会打印到控制台。
有人知道如何解决这个问题吗?
发布于 2021-02-15 20:34:28
使用await/async代替promise回调。
https://stackoverflow.com/questions/65098490
复制相似问题