【问题标题】:Node.js UnhandledPromiseRejection: TypeError: Cannot read property 'sign' of undefinedNode.js UnhandledPromiseRejection:TypeError:无法读取未定义的属性“符号”
【发布时间】:2018-03-18 01:37:21
【问题描述】:

tran.js

var CoinStack = require('coinstack-sdk-js')

var coinstackclient = new CoinStack('YOUR_COINSTACK_ACCESS_KEY',
'YOUR_COINSTACK_SECRET_KEY'); // Actual keys not shown

var privateKeyWIF = CoinStack.ECKey.createKey(); //개인키 생성

var txBuilder = coinstackclient.createTransactionBuilder();
txBuilder.addOutput("1Q8xE8T3G9mxRoDUde6gDSxnK1uCac2kqh", 
CoinStack.Math.toSatoshi("0.01"))
txBuilder.setInput("1Q8xE8T3G9mxRoDUde6gDSxnK1uCac2kqh");
  txBuilder.buildTransaction(function(err, tx) {
  tx.sign(privateKeyWIF)
  var rawTx = tx.serialize()
  // send tx
  client.sendTransaction(rawTx, function(err) {
    if (null != err) {
        console.log("failed to send tx");
      }
   });
});

错误

(node:12012) UnhandledPromiseRejectionWarning: 未处理的承诺拒绝 (拒绝 id:1):TypeError:无法读取未定义的属性“符号” (节点:12012)[DEP0018] DeprecationWarning:未处理的承诺拒绝是 已弃用。将来,未处理的 Promise 拒绝将 使用非零退出代码终止 Node.js 进程。

我不知道该怎么办

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    txBuilder.buildTransaction() 很可能会失败,而且回调函数中的 tx 参数确实不是预期的对象。

    您应该在使用tx 之前检查错误,如下所示:

    txBuilder.buildTransaction(function(err, tx) {
        if (err) {
            // output err or do something with it
            console.log('failed to build transaction');
            console.log(err);
    
            // stop here.
            return;
        }
    
    
        tx.sign(privateKeyWIF)
        var rawTx = tx.serialize();
            // send tx
            client.sendTransaction(rawTx, function(err) {
            if (err) {
                console.log("failed to send tx");
            }
        });
    });
    

    【讨论】:

      【解决方案2】:

      检查tx是否不是nullundefined,然后为ex调用其函数,例如if (ex != null && ex.sign) { ... }

      【讨论】:

        【解决方案3】:

        回调的第二个参数“tx”很可能是未定义的。

        【讨论】:

          猜你喜欢
          • 2016-05-09
          • 2021-12-05
          • 2020-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-01
          • 2021-11-24
          相关资源
          最近更新 更多