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

标签 node.js rest api promise grpc

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

/列出交易 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/

相关文章:

node.js - 如何聚合数组中 ObjectID 出现的次数?

node.js - 多语言微服务方法

javascript - 向 Node 文件添加属性

node.js - 如何更改梯形校正端口号?

java - Restful服务如何识别哪个用户调用哪个方法以及如何使Restful服务成为有状态的?

rest - Spring Boot Rest服务下载包含多个文件的zip文件

javascript - Node.js API 在终端中返回 JSON,但在浏览器中不返回

python - 使用 Google People API 的 REST people.get() 中的 userId 参数无效

c# - 如何知道将从 Web API 授权过滤器调用哪个 Controller 方法

ruby - API 集成错误 HTTParty