【问题标题】:How to work with Javascript objects?如何使用 Javascript 对象?
【发布时间】:2015-05-02 10:12:34
【问题描述】:

无法理解我尝试使用的特定脚本中的 javascript 对象。如果有人能指出我正确的方向,那就太好了。请理解我是 JavaScript 新手。并尝试在编码时学习。所以它可能不是最漂亮的。

var Cryptsy = require('cryptsy');
    redis = require('redis');
    client = redis.createClient()

var cryptsy = new Cryptsy('key', 'secret');

var obj = new Number(obj);

client.hget("Pool_Stats:CurrentShift:WorkerBTC", "Total", function (err, obj) {
    console.dir(obj);
    var obj = new Number(obj);
});

cryptsy.api('makewithdrawal', { address: '13WjD67H382MU8AqA6FyAU5VaKyXzQ35Kr', amount: 'obj' }, function (err, data) {
    console.log(data);
    console.log(err);
});


client.quit();

【问题讨论】:

  • 我认为最好将您的代码移至代码审查
  • 我认为你应该从一个更简单的项目开始
  • 代码审查仅适用于工作代码。如果代码不起作用,问题将作为题外话关闭。
  • 我的代码运行良好。需要安装 node-cryptsy。以及一个工作的redis服务器。我知道我想做什么并且代码有效。我不知道如何使用我在 console.dir(obj) 中创建的对象 obj 是一个十进制数,如“0.01234567”,并在 cryptsy.api 命令的数量区域中使用它

标签: javascript jquery redis


【解决方案1】:

这里只是一个猜测 - 您在这里遇到的最可能的问题是函数 client.hgetcryptsy.api 是异步的 - 不是阻塞的。通过重新安排您的代码,使cryptsy.api 调用从client.hget 的回调函数内部运行,您可以让一个接一个地执行:

client.hget("Pool_Stats:CurrentShift:WorkerBTC", "Total", function (err, obj) {
    console.dir(obj);
    var obj = new Number(obj);

    cryptsy.api('makewithdrawal', { address: '13WjD67H382MU8AqA6FyAU5VaKyXzQ35Kr', amount: obj }, function (err, data) {
        console.log(data);
        console.log(err);
    });

    client.quit();
});

或者,如果这些是阻塞函数(或至少 client.hget 是),您可以在根范围内创建一个变量,在 client.hget 回调函数中分配给它,然后在以下调用中使用该更新值:

var obj;
client.hget("Pool_Stats:CurrentShift:WorkerBTC", "Total", function (err, obj) {
    console.dir(obj);
    obj = new Number(obj);
});

cryptsy.api('makewithdrawal', { address: '13WjD67H382MU8AqA6FyAU5VaKyXzQ35Kr', amount: 'obj' }, function (err, data) {
    console.log(data);
    console.log(err);
});

但是考虑到节点的标准工作方式,您很可能正在处理异步函数,因此上面的第一个示例很可能是您正在寻找的。​​p>

【讨论】:

  • 啊,好吧,这很有意义!我认为问题可能是您第一次提出异步。如果上面的帖子解决了我,明天我会告诉你。
  • 完美,您绝对让我朝着正确的方向前进。我必须删除行 var obj = new Number(obj); 并将 cryptsy.api 行中的 obj 更改为 (obj),同时删除它周围的引号。
猜你喜欢
  • 1970-01-01
  • 2015-12-06
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多