javascript - 为什么我的函数结束(使用外部库)

标签 javascript node.js error-handling try-catch ccxt

我需要你的帮助来处理一些错误。我正在使用外部库,但不知道错误是怎么回事。 这是我的代码:

//file name = playground.js    
var ccxt = require("ccxt");
    ccxt.exchanges.map(r => {
      let exchange = new ccxt[r]();
      let ticks = exchange
        .fetchTickers()
        .then(res => {
          console.log(res);
        })
        .catch(e => {
          console.log(e);
        });
    });

要正确执行它,您需要通过 npm 安装外部库:ccxt:npm i ccxt --save 我收到以下错误:

.../node_modules/ccxt/js/base/Exchange.js:407
        throw new NotSupported (this.id + ' fetchTickers not supported yet')
        ^

Error: _1broker fetchTickers not supported yet
    at _1broker.fetchTickers (.../node_modules/ccxt/js/base/Exchange.js:407:15)
    at ccxt.exchanges.map.r (.../playground.js:41:6)
    at Array.map (<anonymous>)
    at Object.<anonymous> (.../playground.js:38:16)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)

基本上,图书馆能帮我做的是:

  • 自动请求不同的服务器
  • 组织穿制服的元素的 react
  • 处理服务器返回的大部分错误

在我的示例中,返回的错误与服务器不支持我正在使用的功能这一事实有关。用更简单的话来说: 我提出了一个服务器 1 可能能够处理但服务器 2 还不能响应的请求。

代码中的 ccxt.exhanges 返回库正在处理的不同服务器的数组。

问题不是我得到错误那么多...我可以接受没有从每台服务器返回信息,但是我的函数一旦遇到错误就会停止。 .map 循环并没有一直走到最后...

ccxt publishes some information on Error Handling但我不确定我能用它做什么(抱歉,这里是菜鸟)。

我希望我的问题足够清楚并且还没有人问过!

预先感谢您的帮助!

最佳答案

这是一个稍微好一点的版本:

var ccxt = require("ccxt");
ccxt.exchanges.forEach(r => {

    let exchange = new ccxt[r]();

    if (exchange.hasFetchTickers) { // ← the most significant line

        let ticks = exchange
            .fetchTickers()
            .then(res => {
                console.log(res);
            })
            .catch(e => {
                console.log(e);
            });
    }  
});

关于javascript - 为什么我的函数结束(使用外部库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47333043/

相关文章:

java - 预期如何修复 '('或 '['

javascript - 运算符 ">"无法正常工作

javascript - 不能添加相同的js

node.js - 将事件从 Node 客户端发送到 Laravel Echo 服务器

javascript - 在使用该变量之前如何等待函数(toString())完成?

java - Java中的StackOverflowError

javascript - 如何添加新类并从类继承重构为行为委托(delegate)设计模式?

javascript - DOM 对象是在哪里诞生的?

javascript - 相同意图的不同输出

python - 在无效属性调用上定义自定义错误消息