Я пытаюсь вызвать функцию web3, но она не возвращает обещание, как ожидалось. Тем не менее, улов, кажется, работает нормально.
Вызов на контракт:
const requestDebenture = async (debentureAmount) => {
createContractInstance();
await mGenerousInstance.methods.requestMDebenture(web3.utils.toWei(debentureAmount.toString(), "ether")).send({from: account}, (_, txHash) => {
if(txHash) {
notify.hash(txHash);
}
}).then().catch();
}
Функция попытки доступа к вызову:
requestDebenture = async (e) => {
const { debentureAmount } = this.state
this.setState({debentureError: "", isInDebenture: true});
await requestDebenture(debentureAmount)
.then(async () => {
await fetchAccountBalances().catch();
await fetchAccountValues().catch();
await fetchAccountValues().catch();
this.setState({isInDebenture: false, debentureShowing: false});
})
.catch(() => {
this.setState({isInDebenture: false, debentureError: "An error has occurred while requesting for your funds"});
});
}
Спасибо.