Кто-то может найти этот пример из моего кода полезным. Вы можете заключить его в обещание и затем разрешить пользовательское обещание, а затем вызвать другое обещание, чтобы подтвердить получение исходного вызова web3.

аюсь использовать функцию async await для функции, которая возвращает обещание, но результат, который я получаю,Promise { <pending> }, Здесь я использую функцию с именем convertFiletoPDF, которая возвращает обещание. Мне нужно получить вывод (путь, который я упомянул в resol ()). Когда я использую это как

convertFiletoPDF(file).then((result) => {
  console.log(result);
}).catch((err)=>{
  console.log(err);
});

это дает ожидаемый результат. Что не так с кодом ниже? Я совсем новичок в этих асинхронных ожиданиях и обещаниях.

 function convertFiletoPDF(file) {
  return new Promise(function(resolve, reject) {
    unoconv.convert(file, "pdf", function(
      err,
      result
    ) {
      if (err) {
        reject(err);
      }
      let File = file.substring(file.lastIndexOf("/")+1,file.lastIndexOf("."));
      // result is returned as a Buffer
      fs.writeFile(__dirname+"/files/converted/"+File+".pdf", result, error => {
        /* handle error */
        if (err) reject(error);
        else resolve("./files/converted/"+File+".pdf");
      });
    });
  });
}

async function myfunc(file){
  let res = await convertFiletoPDF(file);
  return res;
}

let res = myfunc(file);
console.log(res);

Ответы на вопрос(3)

Ваш ответ на вопрос