Javascript 如何在truffle迁移脚本中使用truffle部署器嵌套承诺
我正在使用truffle deployer部署我的solidity合同:Javascript 如何在truffle迁移脚本中使用truffle部署器嵌套承诺,javascript,solidity,truffle,Javascript,Solidity,Truffle,我正在使用truffle deployer部署我的solidity合同: module.exports = function(deployer, network) { ... } 我希望在此迁移过程中在链上存储一些数据。通过使用promise回调参数并调用合同中的一些函数,数据的基本存储工作正常。但我需要做一些更复杂的事情,如以下代码片段中所述: deployer.deploy(A).then(instance => { instance.addB(id, some params
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')
添加到内部函数,则不会将其打印到控制台
有人知道如何解决这个问题吗?使用“等待/异步”而不是promise回调