Я использую node.js (приложение Electron) для обработки нескольких ZIP-архивов, и я использую библиотеки node-7zip и 7zip-bin. Чтобы выполнить обработку одного файла за другим, необходимую для логики приложения, я написал следующую рекурсивную функцию:
function processArchive(pdscQueue, archiveFilename, repoPath) {
let tempFolder = tmp.dirSync() ;
let devicePackFile = path.join(repoPath,archiveFilename) ; // Create a temp folder for the extacted data
sevenZip.extractFull(devicePackFile, tempFolder.name, { $bin: pathTo7zip})
.then( function () {
//
// Process the file here ...
//
tempFolder.removeCallback() ; // Clean up
//
// Check if there are more to process
//
if ( pdscQueue.isEmpty()) {
return ;
} else {
processArchive(pdscQueue, pdscQueue.dequeue(), repoPath ) ;
}
});
}
Проблема, с которой я столкнулся, заключается в том, что я получаю «.then is not function», когда пытаюсь запустить код.
Поиски в Google и StackOverFlow не нашли решения.