为什么我的函数结束(使用外部库)
Why is my function ending (using external library)
我需要你的帮助来处理一些错误。我正在使用外部库,但不知道错误是怎么回事。
这是我的代码:
//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);
});
});
要正确执行它,您需要安装外部库:ccxt
通过 npm: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)
基本上,图书馆帮助我的是:
- 自动请求不同的服务器
- 组织统一对象中的响应
- 处理服务器返回的大部分错误
在我的示例中,返回的错误与服务器不支持我正在使用的功能有关。用更简单的话来说:
我发出一个请求,server1 可能能够处理,但 server2 还不能响应。
代码中的 ccxt.exhanges
returns 库正在处理的不同服务器的数组。
问题不是我得到错误那么多...我可以接受没有从每台服务器返回信息,但是我的函数一旦遇到错误就会停止。 .map
循环并没有一直走到尽头...
ccxt publishes some information on Error Handling 但我不确定我能用它做什么(抱歉,这里是菜鸟)。
我希望我的问题足够清楚并且没有人问过!
在此先感谢您的帮助!
你能检查一下这是否可行吗?我用 forEach
替换了 map
因为你想要做的就是循环遍历交换数组。
//file name = playground.js
var ccxt = require("ccxt");
ccxt.exchanges.forEach(r => {
let exchange = new ccxt[r]();
try {
let ticks = exchange
.fetchTickers()
.then(res => {
console.log(res);
})
.catch(e => {
console.log(e);
});
} catch(err) {
// PRINT THE err IF NEEDED
console.log("CONTINUING THE LOOP BECAUSE fetchTickers is not supported");
}
});
这里有一个稍微好一点的版本:
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);
});
}
});
我需要你的帮助来处理一些错误。我正在使用外部库,但不知道错误是怎么回事。 这是我的代码:
//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);
});
});
要正确执行它,您需要安装外部库:ccxt
通过 npm: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)
基本上,图书馆帮助我的是:
- 自动请求不同的服务器
- 组织统一对象中的响应
- 处理服务器返回的大部分错误
在我的示例中,返回的错误与服务器不支持我正在使用的功能有关。用更简单的话来说: 我发出一个请求,server1 可能能够处理,但 server2 还不能响应。
代码中的 ccxt.exhanges
returns 库正在处理的不同服务器的数组。
问题不是我得到错误那么多...我可以接受没有从每台服务器返回信息,但是我的函数一旦遇到错误就会停止。 .map
循环并没有一直走到尽头...
ccxt publishes some information on Error Handling 但我不确定我能用它做什么(抱歉,这里是菜鸟)。
我希望我的问题足够清楚并且没有人问过!
在此先感谢您的帮助!
你能检查一下这是否可行吗?我用 forEach
替换了 map
因为你想要做的就是循环遍历交换数组。
//file name = playground.js
var ccxt = require("ccxt");
ccxt.exchanges.forEach(r => {
let exchange = new ccxt[r]();
try {
let ticks = exchange
.fetchTickers()
.then(res => {
console.log(res);
})
.catch(e => {
console.log(e);
});
} catch(err) {
// PRINT THE err IF NEEDED
console.log("CONTINUING THE LOOP BECAUSE fetchTickers is not supported");
}
});
这里有一个稍微好一点的版本:
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);
});
}
});