Во-первых, await работает только с обещаниями, и ftp.get явно использует обратный вызов вместо обещания.Таким образом, вам нужно обернуть ftp.get в обещание.
Во-вторых, ваш fs.readdir находится за пределами асинхронной функции, поэтому ожидание не повлияет на него.Если вам нужно, чтобы оно было отложено, то вам нужно, чтобы оно было внутри асинхронной функции после оператора await.
Итак, соберите, что выглядит примерно так:
(async function () {
await new Promise((resolve, reject) => {
Ftp.get("document.txt", "document.txt", err => {
if (err) {
reject("There was an error retrieving the file.")
return;
}
console.log("File copied successfully!");
Ftp.raw("quit", (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
})
});
fs.readdir("/", function (err, data) {
if (err) {
return console.error("There was an error listing the /tmp/ contents.");
}
console.log('Contents of tmp file above, after unlinking: ', data);
});
})()