我正在尝试导出一个允许您输入参数(交易对)的函数,它将返回该交易对的数据。这是创建以下函数的代码:
// This function is exported and let's you feed in pairs you want data for - feeling proud.
function pullData(coinPair) {
kc.getTicker({
pair: coinPair
}).then(returnData).catch(console.error)
}
// This function is the callback, which I believe means this function is called and fed the results of the Promise returned from 'kc.getTicker'.
// At first it just logs the data, but now I'll need to find a way to return the data as a usable array. Maybe use the 'return()' function?
function returnData(pairData) {
// Nae Nae
//return pairData;
console.log(pairData);
}
// Finally we export our hard work
exports.pullData = pullData;
我现在想让导出的函数返回数据(并且这些数据可以被回调函数使用。
// Including important sub modules & config files
const tradeData = require('./example');
var config = require('./config');
// Log the config pairs (Method 1):
function logArrayElements(element, array) {
console.log(element);
}
config.pairs.forEach(logArrayElements);
// Was going to cycle through config pairs. However, I will instead have a base strategy that will be replicated for each pair and run side by side.
//console.log(tradeData.pullData('ETH-USDT'));
tradeData.pullData('ETH-USDT', calculations);
function calculations() {
console.log(pairData);
}
这里的相关行是文件的包含(' ./示例')以及使用该函数的可怜尝试,其中回调较低。
我的目标是能够传递这样的信息:
tradeData.pullData('ETH-USDT', calculations);
function calculations() {
// Calculations and logic here
}
这可能涉及到'然后'只需返回数据。我相信这可以进行一次计算'函数在异步函数完成后使用数据...
我非常感谢任何答案,因为我无法找到关于我应该在这里做什么的指导。
答案 0 :(得分:1)
我不确定你要回归的是什么pullData
。你希望它只返回数据吗?所以像这样:
function pullData(coinPair) {
return kc.getTicker({
pair: coinPair
})
.catch(console.error) //.then(returnData)
}
然后您希望收到对此类数据执行的calculations
函数:
function pullData(coinPair,calculations) {
return kc.getTicker({
pair: coinPair
}).then(calculations).catch(console.error)
}
现在来电者可以这样做:
pullData(pair,calculations);
但来电者可能会做得很好:
pullData(par).then(calculations)
我不确定这里有什么好处。
答案 1 :(得分:0)
我的问题可能让其他人感到困惑,因为我真的迷失了正确的结构。
第二天审查后,我的目的是:
在我原来的问题中,我没有将回调定义为数据收集功能的参数。结果,该函数只能期望一个参数,即“对”。我相信它会调用' .then()'一旦异步过程完成。但是,它调用的函数必须在原始文件中。
为了解决这个问题,我必须添加一个函数,在这种情况下,命名为' calculate',作为函数中的参数,然后有' .then()'叫那个功能。这告诉了' .then()'查找将作为第二个参数传递的函数,然后在从API接收到数据后调用它。
现在这意味着我可以将该函数导出到多个其他文件中,如果我希望其他函数使用数据,我只需通过调用传递这些函数。