Нет результата и ошибок при преобразовании node-stream-zip в обещание - PullRequest
0 голосов
/ 08 января 2020

Я использую node-stream-zip , чтобы распаковать файл. Когда я запускаю это синхронно (как документация), это работает отлично. Однако я пытаюсь обещать это и сталкиваюсь с проблемами. Нет вывода из метода asyn c (скрипт только что закончился). Может кто-нибудь сказать мне, почему это возвращает без ошибок и без результата асинхронно?

//for unzipping via stream
const StreamZip = require("node-stream-zip"); //npm i node-stream-zip

const {promisify} = require('util');
const AsyncStreamZip=promisify(StreamZip);

const ppp ="C:\\Users\\king\\Postman\\files\\1491.zip";


function unzipDataSync(path){
  console.log('---sync---')
  let companyZip = new StreamZip({
    file: path,storeEntries: true
  });
  // Handle errors
  companyZip.on("error", e => {
    console.log("Could not unzip "+path);
    throw e;
  });
  //unzip logic after zipCompany is ready
  companyZip.on("ready", () => {
    for (const entry of Object.values(companyZip.entries())) {
      console.log(JSON.stringify(entry));
    }
  });
}

async function unzipDataAsync(path){
  console.log('---async---')
  try{
    let companyZip = await(new AsyncStreamZip({
      file: path,storeEntries: true
    }));

    for (const entry of Object.values(companyZip.entries())) {
      console.log(JSON.stringify(entry));
    }
    return;

  }catch(e){
    console.log("Could not unzip "+path);
    return;
  }
}

unzipDataAsync(ppp).then(()=>{})
unzipDataSync(ppp)
...