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

225
Vistas
TypeScript este error de contexto de palabra clave - indefinido

Tengo un aws lambda escrito en JS (TypeScript) que llama a funciones de diferentes clases. No estoy definido para la variable de productos existentes a pesar de que funciona bien cuando la interfaz de usuario REACT envía una llamada a la función. A continuación se muestra mi código que usa esta palabra clave para hacer referencia al método de otra clase con el objeto actual en el alcance.

Punto de entrada para la lambda

 export const handler = async (upload: FileUpload, context: Context) => { .....code ..... const parser = new ExcelValidator(new LookupService(), new ProductService()); const status = await parser.performExistingUpcValidation(products as Product[], upload, workbook); return status

Realizar validación de UPC existente

 export class ExcelValidator { constructor(public lookupService: LookupService, public productService: ProductService) { } async performExistingUpcValidation(products: Product[], upload: FileUpload, workbook?: Workbook): Promise<FileStatus> { ...code... const existingProducts: any[] = await this.productService.getExistingProductsByUpcOrProductCode(productUpcs, productCodes); console.log("This is the exisitingProduct", existingProducts) }

ProductServiceClass

 export class ProductService { constructor() { } @Query(()=>[Product]) async getExistingProductsByUpcOrProductCode(@Arg("upcs", ()=> [String]) upcs: string[], @Arg("productCodes", ()=> [String]) productCodes: string[]): Promise<Product[]> { console.log("I came here") let query = `SELECT * from table in (${upcs.join(",")})`; if(productCodes.length){ query += ` OR "productCode" in ('${productCodes.join("','")}')`; } const results = await pool.snowflake?.execute(query); return results as Product[]; }

Después de toda la ejecución puedo ver

 This is the exisitingProduct undefined

lo que significa que mi ejecución no llega a ProductServiceClass. ¿Puede alguien señalarme qué está mal o qué falta? También cualquier documentación/referencia para leer más ayudará mucho.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Mi sugerencia para usted es revisar el artículo a continuación:

 const results = await pool.snowflake?.execute(query);

¿Está seguro de que el copo de nieve no es nulo, porque está aceptando ser indefinido con la ayuda del signo de interrogación?

about 4 years ago · Santiago Gelvez Denunciar
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