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?
 
    