i399exlang/ex6.js

49 lines
973 B
JavaScript

'use strict';
var request = require("request");
function getRelevantData(personId, cb) {
get('/api/persons/'+personId, recv => {
let result = {name: recv.name}
let waitingResponses = 2;
function recvCb(data, type){
if (type === "insurance") {
result.isInsured = data.isInsured;
waitingResponses--;
} else if (type === "debt") {
result.taxDebt = data.debt;
waitingResponses--;
}
if (!waitingResponses) {
cb(result);
}
}
get('/api/health-insurance/'+recv.code, recv => recvCb(recv, "insurance"));
get('/api/tax-debt/'+recv.code, recv => recvCb(recv, "debt"));
});
}
getRelevantData(2948,console.log)
// helper function
function get(url, cb) {
request('http://localhost:3000' + url, function(error, response, body) {
cb(JSON.parse(body));
});
}