使用 npm 包获取价格不起作用

Getting prices with an npm package not working

实际上,我认为使用这个 npm 有更好的方法来获取价格(您可以打开它以更好地了解它是如何工作的):

https://github.com/jaggedsoft/node-binance-api 而不是使用我尝试使用的 "coin " 变量,但我不知道这怎么可能,如果你们能帮我弄清楚一个更好的主意或者使用 discord 来拉动这个包的价格的最好方法太棒了,我已经坚持了几天:/

我需要的: 为了能够替换 "ticker.XRPBTC"(下面的代码)。

例如,如果我写 ETH,它应该从 ticker.XRPBTC 更改为 ticker.ETHBTC

var coin = (message.content.toUpperCase()).slice(2) + "BTC";

binance.prices((error, ticker) => {

  console.log("Price of " + coin + ":", ticker.XRPBTC);
});

为此我制作了变量硬币,我以为我可以写 ticker.coin 但它不起作用...

我试过这个:


As an example:

ticker.XRPBTC     - This code works, output: the actual price of the currency.

What I am trying:

var coin = XRPBTC 

console.log(ticker.coin)  - output: undefined 

顺便说一句。我正在写 console.log 以在控制台中对其进行测试,但如果我这样写也会出现错误:


  if (msg.startsWith ("eth")) {
    message.reply ("Price of " + coin + ":", ticker.TRXBTC);
  }

代码功能的解释:

ticker有获取每个币种最新价格的功能,可以是ETHBTC、XRPBTC、TRXBTC等,这里eth、xrp、trx就是币种。所以在代码中我只需要这样写,这样我就可以得到那双的价格。

正如您在我上面发送给您的代码中看到的那样,我得到的文本与代码 "need it to look" 完全一样。

因此,如果我写 eth,变量 "coin" 会将其转换为 ETHBTC

最好!

我想你在找 property access。您可能想先检查硬币是否存在,例如

var coin = message.content.toUpperCase().slice(2) + "BTC";
console.log(coin); // logs e.g. "ETHBTC"
binance.prices((error, ticker) => {
  if (coin in ticker) {
    var price = ticker[coin]; // <- property access
    message.reply("Price of " + coin + ": " + price);
  } else {
    // handle error, e.g.
    message.reply("Coin " + coin + " doesn't exist");
  }
});