簡體   English   中英

如何在 truffle 遷移腳本中使用 truffle deployer 嵌套 promise

[英]How to nest promises with truffle deployer in truffle migration script

我正在使用 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')添加到內部 function 它不會打印到控制台。

有人知道如何解決這個問題嗎?

使用“等待/異步”而不是 promise 回調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM