gpt4 book ai didi

node.js - Promise Catch 在 json rpc 调用中未收到错误

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:52 26 4
gpt4 key购买 nike

如果地址错误或交易不成功,我会尝试获取错误,但没有得到任何响应。请帮帮我

/列出交易 API/

app.post('/sendtoadd',(req,res) => {

var fromAdd = req.body.fromAddress;
var toAdd = req.body.toAddress;
var qty= req.body.qty;
var assetId = req.body.assetId;
console.log("SEND TO ADDRESS API is in progress");
functions.sendToAddress(fromAdd, toAdd, qty, assetId).then(function(result){
res.send(result);
}).catch(function(err){
console.log(err);
res.send(err);
});
})

/*函数定义*/

function sendToAddress(fromAddress, toAddress, qty, assetId){
return new Promise(function(resolve,reject){
var client = new rpc.Client(options);
client.call({
"jsonrpc":"2.0",
"id":1,
"method":"sendtoaddress",
"params":[fromAddress,toAddress,qty,assetId]
},
function (err, res){
if(err){
reject(err);
return;
} else {
var msg = res;
var message = msg.result;
resolve(message);
}
})
})
}

最佳答案

client.call 的回调函数是异步的。因此它不会找到reject()或resolve()回调。

尝试:

function sendToAddress(fromAddress, toAddress, qty, assetId){

return new Promise(function(resolve,reject){
var res = resolve,
rej = reject;
var client = new rpc.Client(options);
client.call({
"jsonrpc":"2.0",
"id":1,
"method":"sendtoaddress",
"params":[fromAddress,toAddress,qty,assetId]
},
function (err, res){
if(err){
rej(err);
return;
} else {
var msg = res;
var message = msg.result;
res(message);
}
})
});
}

关于node.js - Promise Catch 在 json rpc 调用中未收到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58856036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com