I am trying to use Node.js's async.
This is my full code.
const fs = require('fs');
const request = require('request');
var schedule = require('node-schedule');
var getBTCData = function(callback){
request({
url: "https://api.gopax.co.kr/trading-pairs/BTC-KRW/book?level=1",
method: 'GET',
json :true
}, (error, response, body) => {
let date = new Date().toLocaleString();
let today = date.substring(0,4) + "0" + date.substring(5,6) +
date.substring(7,9);
let time = new Date().toLocaleString().substring(10,19);
let bid = body.bid[0][1];
let bidVolume = body.bid[0][2];
let ask = body.ask[0][1];
let askVolume = body.ask[0][2];
let data = `${time},BTC,${bid},${bidVolume},${ask},${askVolume}\n`;
callback(data, today);
});
}
setInterval(function(){getBTCData((data, today)=>
{fs.appendFileSync(`./gopax_BTC_${today}.csv`,data);})}, 1000);
And this is my result.
19:02:32,BTC,7392000,0.70893442,7408000,0.69
19:02:32,BTC,7392000,0.70893442,7408000,0.69
19:02:33,BTC,7392000,0.70893442,7408000,0.69
19:02:35,BTC,7392000,0.70893442,7408000,0.69
19:02:35,BTC,7392000,0.70893442,7408000,0.69
I want to get data every one second like this.
19:02:31,BTC,7392000,0.70893442,7408000,0.69
19:02:32,BTC,7392000,0.70893442,7408000,0.69
19:02:33,BTC,7392000,0.70893442,7408000,0.69
19:02:34,BTC,7392000,0.70893442,7408000,0.69
19:02:35,BTC,7392000,0.70893442,7408000,0.69
How can I get and save data in every one second?