Javascript 未处理的PromiserEjectWarning
我收到一个错误“UnhandledPromiseRejectWarning”。我在谷歌上搜索了几个小时,似乎无法修复这个问题。请给我指引正确的方向。谢谢。指针1:不要将Javascript 未处理的PromiserEjectWarning,javascript,solidity,web3js,Javascript,Solidity,Web3js,我收到一个错误“UnhandledPromiseRejectWarning”。我在谷歌上搜索了几个小时,似乎无法修复这个问题。请给我指引正确的方向。谢谢。指针1:不要将JSON.parse(contract\u abi).abi作为参数进行计算。如果你这样做了,就没有办法检查它是什么——这可能是导致错误的原因。更好: const Web3 = require('web3'); const fs = require('fs') const web3 = new Web3("http://
JSON.parse(contract\u abi).abi
作为参数进行计算。如果你这样做了,就没有办法检查它是什么——这可能是导致错误的原因。更好:
const Web3 = require('web3');
const fs = require('fs')
const web3 = new Web3("http://localhost:7545");
const contract_address = "0x7484d32e891817702c5d7c764dBF7e592000b415";
async function web3Contract() {
const contract_abi = fs.readFileSync('./build/contracts/Bottle.json', 'utf8')
const Bottle = await new web3.eth.Contract(JSON.parse(contract_abi).abi, contract_address);
Bottle.methods.setName("Palm").send();
Bottle.methods.getGreeting().call();
}
async function run() {
try {
await web3Contract();
} catch (err) {
console.log('Your error is this - ' + err);
}
}
run();
指针2:调试时不要记录错误对象的字符串值-您将只获得其toString()
结果,该结果看起来与记录error.message
相同。更好:
const contract_abi = fs.readFileSync('./build/contracts/Bottle.json', 'utf8');
const abi = JSON.parse(contract_abi).abi;
console.log( abi); // do you get this far?
const Bottle = await new web3.eth.Contract(abi, contract_address);
提供
err
作为第二个参数会导致node
记录错误对象的其他属性,包括提供跟踪信息的属性。嘿,谢谢您抽出时间。我用你的指针记录了abi,它工作了,我记录了瓶子实例,它工作了。但是当我进入battle.methods.setName(“Palm”).send()时
It抛出这些错误&@AngeloTree尝试阅读和阅读以改进问题-关于错误发生的方式和时间的其他信息应编辑到问题中,而不是注释中。也许是在描述from
字符串瓶子.js
正在寻找的。
console.log('Your error is this - ', err);