web3.js 中文文档
v1.3.4
回调承诺事件
为了帮助web3集成到各种不同标准的项目中,我们提供了多种方法来处理异步函数。
大多数web3.js对象都允许回调作为最后一个参数,也允许向链函数返回承诺。
以太坊作为一个区块链,具有不同的最终性,因此需要返回一个动作的多个“阶段”web3.eth.sendTransaction
或者合同方法。这个“承诺”是一个与事件发射器相结合的承诺,允许在区块链上的不同行动阶段采取行动,比如交易。
承诺就像一个普通的承诺on
,once
和off
这样开发人员就可以监视诸如“receipt”或“transactionHash”之类的其他事件。
web3.eth.sendTransaction({from: '0x123...', data: '0x432...'})
.once('sending', function(payload){ ... })
.once('sent', function(payload){ ... })
.once('transactionHash', function(hash){ ... })
.once('receipt', function(receipt){ ... })
.on('confirmation', function(confNumber, receipt, latestBlockHash){ ... })
.on('error', function(error){ ... })
.then(function(receipt){
// will be fired once the receipt is mined
});