Web3js
SyntaxError: await 僅在 web3js 中的非同步函式和非同步生成器中有效
下面是我的程式碼片段。我希望等待交易雜湊值,以便我可以返回帶有雜湊值的 Javascript 函式。
但是我在 Firefox 控制台中收到錯誤“SyntaxError:await 僅在非同步函式和非同步生成器中有效”。我在https://cdn.jsdelivr.net/gh/ethereum/web3.js@1.0.0-beta.34/dist/web3.min.js使用web3js 1.0
web3.eth.accounts.signTransaction(tx, privateKey).then(signed => { const tran = await web3.eth .sendSignedTransaction(signed.rawTransaction) .on('confirmation', (confirmationNumber, receipt) => { console.log('=> confirmation: ' + confirmationNumber); }) .on('transactionHash', hash => { console.log('=> hash'); console.log(hash); //console.log("HASH: ", hash); transHash = hash; }) .on('receipt', receipt => { console.log('=> reciept'); console.log(receipt); }) .on('error', console.error); });
改變這個:
signed => {
對此:
function(signed) {
然後到這個:
async function(signed) {
中間階段只是為您闡明語法的中間步驟。
你也可以這樣做:
async (signed) => {
如果你想使用速記符號。