Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在truffle迁移脚本中使用truffle部署器嵌套承诺_Javascript_Solidity_Truffle - Fatal编程技术网

Javascript 如何在truffle迁移脚本中使用truffle部署器嵌套承诺

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

我正在使用truffle deployer部署我的solidity合同:

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回调