Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

114
Visualizações
Refactorizar la devolución de llamada de la biblioteca no estándar en promesa

Estoy usando el paquete fabricjs y quiero usar la función fabric.Image.fromURL . La documentación para esta función es la siguiente:

(estático) fromURL(url, callbackopt, imgOptionsopt)

Crea una instancia de fabric.Image a partir de una cadena de URL
Parámetros:

Nombre Escribe Atributos Descripción
URL Cuerda URL para crear una imagen desde
llamar de vuelta función <opcional> Devolución de llamada para invocar cuando se crea la imagen (la imagen recién creada se pasa como primer argumento). El segundo argumento es un booleano que indica si ocurrió un error o no.
imgOpciones Objeto <opcional> Objeto de opciones

Refactorizaría mi código para usar la notación Promise moderna en lugar de devoluciones de llamadas anidadas. ¿Puedo refactorizar esta función en una Promesa?

Actualmente, si quiero agregar dos imágenes seguidas, mi código se ve así:

 # add first image fabric.Image.fromURL(url1, function (oImg: any) { canvas.add(oImg); # add second image fabric.Image.fromURL(url2, function (oImg: any) { canvas.add(oImg); } })

Me encantaría poder reescribirlo como

 async def addImages() { await promisifiedImageFromURL(url1) await promisifiedImageFromURL(url2) }

He buscado en util.promisify ( https://nodejs.org/api/util.html#utilpromisifyoriginal ) pero esta función espera que la función correspondiente esté en un formato específico: una sola devolución de llamada de error primero. La función fromURL , por otro lado, está en un formato no estándar, que es donde tengo problemas

Estoy investigando funciones prometidas personalizadas, pero honestamente estoy sobre mi cabeza aquí

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

const promiseFromUrl = (url, imgOptions) => { return new Promise((res, rej) => { const callback = (image, isError) => { if (isError) rej(new Error('Some error occurred')); else res(image); }; fromURL(url, callback, imageOptions); }); }
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda