Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

147
Vistas
Call function inside Promise and resolve

I have a function that reads multiple json files. Now I want to modify it so that it can read csv files as well. I have another function that converts text into json arrays. I am trying to do this, but I am getting an error Property 'csvtoarray' does not exist on type 'FileReader'.ts(2339)

readFile(reader: FileReader, file: File) {
    const deferredResult = new Promise(resolve => {
      reader.addEventListener('load', function getResult() {
        console.log(file)
        if(file["type"] == "application/json"){
        resolve(reader.result as string)}
        else if(file["type"]=="text/csv"){
          resolve(this.csvtoarray(reader.result))
        }        
        reader.removeEventListener('load', getResult)
      })
    })

How can I call my function that converts text into json arrays in this readFile function?

My function that converts text into json arrays is:

csvtoarray(str,delimiter=','){
      const headers = str.slice(0,str.indexOf("\n")).split(delimiter)
      const rows = str.slice(str.indexOf("\n") + 1).split("\n")

      const arr = rows.map(function(row) {
        const values = row.split(delimiter);
        const el  = headers.reduce(function(object,header,index){
          object[header] = values[index];
          return object
        },{});
        return el
      });
      return arr
    }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda