Проблема
У меня проблемы с доступом к массиву данных, содержащемуся в объекте Promise {}, который был возвращен функцией Async / Await.
Я знаю, что Async / Await оболочка для обещаний, и поэтому она всегда будет возвращать обещание. Я просто не могу получить доступ к данным внутри.
Я тщательно исследовал это и даже не видел ссылки на то, что я вижу.
Код
Вот содержимое каталога изображений:
outside3.jpg
outside2.png
outside1.jpg
matt.png
truck.png
Допустим, я пытаюсь получить этот список элементов, содержащихся в каталоге.
const fs = require('fs');
/* The files are here */
const imgPath = "../public/images/client/carousel2/"
const getFileList = async (filePath)=>{
let fileList = [];
const dir = await fs.promises.opendir(filePath);
for await (const dirent of dir) {
fileList.push(dirent.name)
}
return fileList
}
let fileNames = getFileList(imgPath)
setTimeout(()=>{
console.log(fileNames)
}, 500);
Вывод
Когда я запускаю это, я получаю следующий вывод:
Promise {
[
'outside3.jpg',
'outside2.png',
'outside1.jpg',
'matt.png',
'truck.png'
]
}
Вопрос
Хотя может быть лучший способ go получить содержимое каталога, мой вопрос больше касается объекта Promise
, возвращаемого функцией Async / Await.
Учитывая результат, как мне извлечь массив из этого Promise
объекта?
Или, если это неправильный вопрос, как мне вернуть только массив?