В вашем обновленном коде единственная ошибка, которую я вижу, связана с необъявленной переменной bytes
.
await read(fd, buf, 0, buf.length, 0);
вернет значение, которое имеет:
{
buffer: bufferData,
bytesRead: numberOfBytes
}
Итак, в вашем асинхронном коде вы должны получить их и использовать их:
try{
let ret = await read(fd, buf, 0, buf.length, 0);
if(ret.bytesRead > 0)
console.log(buf.slice(0, ret.bytesRead).toString());
}
Конечно, вы также можете просто напечатать буфер, возвращенный из read()
.
Также будет полезно в блоках catch
распечатать ошибки:
catch(e){
console.log("Error", e);
}
Кроме того, если вы хотите, чтобы console.log
в конце был в нужное время, вы должны использовать что-то вроде:
main().then(() => console.log("Program ended")) ;