Javascript/Node beginner here.
I've consulted several posts (Link 1, Link 2, Link 3) but I am getting an error on my following Node.js code:
const execFile = require('child_process').execFile;
async function execute(){
let result = await sh();
console.log("RESULT: " + result);
}
async function sh(){
execFile('./demo-files/demo.sh', ['1st', '2nd', '3rd'],
function(err, data){
let returnValue;
if(err){
returnValue = "ERROR:\n" + err;
}
else {
returnValue = data.toString();
}
console.log("return value in fxn: " + returnValue);
return returnValue;
});
}
execute();
The console output:
RESULT: undefined
return value in fxn: 2nd
Why does my await
not wait for the result of sh()
? I expected it to return the value "2nd".
(The bash script is inconsequential; it's just echo $2
)