I am new to Node.js and am able to run these commands one by one one using promises:
let promise1 = new Promise(function (resolve, reject) {
sftp.connect({
host: host,
username: user,
privateKey: fs.readFileSync(pemfile)
}).then(() => {
return sftp.get(remotePath, fs.createWriteStream(localPath)); //This writes from a remote file to a local file
}).then(() => {
sftp.end();
resolve();
})
.catch(err => {
console.error(err.message);
reject(err);
});
});
await promise1;
let promise2 = new Promise(function (resolve, reject) {
fs.readFile(localPath, 'utf8', function (err, data) {
if (err) {
reject(err);
}
resolve(data);
});
});
let data = await promise2;
This works but I know this is not the best way to do this. Is there a better way to do this?