I'm using a node script to make several api calls asynchronously and now i need to 'do something' once those calls are done. Not sure what to do in my createProject() function after i perform the request, set the options and get doSomething AFTER the options are set.
function performRequest(reqOptions, reqBody, success) {
const req = https.request(reqOptions, (res) => {
var chunks= [];
// data received
res.on('data', function (chunk) {...});
// data processed
res.on('end', function() { success(Buffer.concat(chunks).toString()); });
});
// error occurred during request
req.on('error', (e) => {
console.error('Request error: ' + e);
});
req.write(JSON.stringify(reqBody));
// end request
req.end();
}
function createProject(name) {
var reqOptions = {...};
var reqBody = {...};
performRequest(reqOptions , reqBody , function(data) {
// project successfully created - set project options
setOption1(data.id);
setOption2(data.id);
// after options set, do something
doSomething();
});
}
function setOption1(id) {
// performRequest(...)
}
function setOption2(id) {
// performRequest(...)
}
function doSomething() { ... }
Promise.all(and makeperformRequestreturn a promise)