Web3js
truffle-contract 永遠不會解決 Contract.new() 承諾
我遇到了以下功能的問題:
public async createNoteWeb3() { let bank = await this.bank.at(this.bankAddress); try { let note = await this.note.new(this.bankAddress,{from: this.user.address}); let status = await bank.addNote.sendTransaction(this.bankAddress,{from: this.user.address}); let status2 = await bank.addNote.sendTransaction(this.bankAddress,{from: this.user.address}); console.log('Status: ' + status); } catch (e) { console.log(e); } this.getNotesWeb3(); }
status2 僅用於測試目的。通常第一個狀態應該以 note.address 作為參數而不是 this.bankAddress。
但是,當註釋掉“let note”行或拒絕創建合約的第一個元掩碼請求時,以下兩個交易會一個接一個地彈出,或者“catch”部分出現。但是當我接受契約創建時,沒有後續交易出現。日誌中也沒有錯誤。
任何建議如何處理這個?
(truffle 開發鏈上的 truffle-contract 與 chrome 中的 metamask)
更新:如果 new() 函式成功,看起來承諾永遠不會被解決。如果我拒絕創建契約,程式碼會跳轉到“catch”部分。
似乎問題已經在這裡討論過: