我试图让这个工作,但我现在不知道它为什么不运作。
//require the poloniex library
var plnx;
var currenciesJSON;
if (plnx = require('plnx')){
console.log("Poloniex library intialized.");
}
//
a = 0;
setInterval(function() { intervalFunction() }, 1000);
function intervalFunction(){
plnx.returnCurrencies({}, function(err, data) {
currenciesJSON = data;
console.log(err);
console.log(currenciesJSON);
});
var currenciesOBJ = JSON.parse(currenciesJSON);
a++;
console.log("Check #"+a+" complete.");
}

我收到了以下错误:
[nodemon] starting `node main.js`
Poloniex library intialized.
undefined:1
undefined
^
SyntaxError: Unexpected token u
at Object.parse (native)
at intervalFunction (E:\CODING\nodejs\main.js:22:28)
at null.<anonymous> (E:\CODING\nodejs\main.js:10:26)
at wrapper [as _onTimeout] (timers.js:265:14)
at Timer.listOnTimeout (timers.js:110:15)
[nodemon] app crashed - waiting for file changes before starting...
答案 0 :(得分:1)
您尝试在分配变量之前解析变量的值。 plnx.returnCurrencies()
是异步的,所以
var currenciesOBJ = JSON.parse(currenciesJSON)
将(最初)等同于
var currenciesOBJ = JSON.parse(undefined)
这相当于(由于类型强制)
var currenciesOBJ = JSON.parse('undefined')
因此关于字符'u'
在plnx.returnCurrencies()
回调被调用至少一次之前,这可能只是一个问题,因为那时将定义currenciesJSON
。