Contenido del curso
Fundamentos de POO
POO Avanzada
Asincronismo y consumo de APIs
Genéricos
Próximos pasos
Consumiendo ProductMemoryService
Contenido del curso
Consumiendo ProductMemoryService
En está clase fue palpable la ayuda de TS al momento de revisar contratos. Siempre me ando equivocando en las propiedades de un objeto.
Muy importante tener la ayuda de Typescript para no tener luego errores en ejecución con las propiedades definidas.
Excelente todo el curso y los dos anteriores de TS también 😺
Cada vez le tomo más cariño a TS 💙. Me va salvando y ayudando en muchas cosas...
Lo impresionante de como lo va guardando en memoria:
Si se imprime 2 veces (el antes y el despues).
02-main.ts
const products = productService.getAll(); const productId = products[0].id; productService.update(productId, { title: 'cambiar nombre' }); // ANTES DEL CAMBIO console.log(productService.getAll()) ; const rta = productService.findOne(productId); // IMPRIME DESPUES DEL CAMBIO console.log(rta);
En este caso si quieres ver el antes y el despues del cambio lo que debes hacer es que el update se haga después del 1mer console.log para ver la diferencia de los cambios
const products = productService.getAll(); const productId = products[0].id; // ANTES DEL CAMBIO console.log(productService.getAll()) ; // ACTUALIZACION DEL TITULO productService.update(productId, { title: 'cambiar nombre' }); // IMPRIME DESPUES DEL CAMBIO const rta = productService.findOne(productId); console.log(rta);
Segun yo tengo todo igual (quitando los cambios que tuve que hacer para que funcionara el faker) pero cuando lo imprimo noto que categoryId y id son los los mismos pero ami me genera: {
title: 'Cambiar nombre',
price: 100,
description: 'bla bla bla',
categoryId: 12,
images: [],
id: 8682925948530677,
category: {
id: 10223006430439,
name: 'Beauty',
image: 'https://loremflickr.com/3935/1761?lock=5186943195348559'
}
}
El error fue mio, me puse a mirar detalle por detalle y yo haciendo experimentos estaba intentando era poner en el category algo tipo this.categoryid, hasta que ya luego solo utilice el data.categoryId para poner exactamente lo que estuviera en el data con categoryId y ya funciono bien :,)
categoryId no hace parte de tipo Product y aun asi Typescript lo permite, cuidado con eso.
CategoryId hace parte de la interfaz CreateProductDto no del Producto