Consumiendo ProductMemoryService
Clase 18 de 25 • Curso de TypeScript: Programación Orientada a Objetos y Asincronismo
Contenido del curso
Clase 18 de 25 • Curso de TypeScript: Programación Orientada a Objetos y Asincronismo
Contenido del curso
Oscar Fuentes Esteves
PAMELA RAMIREZ
Jean Bustamante
Camilo Taborda
Paolo Joaquin Pinto Perez
Ulqernesh Karvenae
Eric Daniel Cavanzo
Eric Daniel Cavanzo
Jorge Luis Estevez Solares
Oscar Dario Florez Diaz
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