Actualmente estoy experimentando un problema con angular, si uso varias tuberías además de una tubería asíncrona como esa:
<p>Mis à jour : {{ lastUpdate | async | date: 'yMMMMEEEEd' | uppercase }}</p>el código no se puede compilar y tengo este error:
Error: src/app/app.component.html:5:39 - error TS2769: ninguna sobrecarga coincide con esta llamada. Sobrecarga 1 de 3, '(valor: cadena | número | Fecha, formato?: cadena | indefinido, zona horaria?: cadena | indefinido, configuración regional?: cadena | indefinido): cadena | null', dio el siguiente error. El argumento de tipo 'desconocido' no se puede asignar al parámetro de tipo 'cadena | número | Fecha'. El tipo 'desconocido' no se puede asignar al tipo 'Fecha'. Sobrecarga 2 de 3, '(valor: nulo | indefinido, formato?: cadena | indefinido, zona horaria?: cadena | indefinido, configuración regional?: cadena | indefinido): nulo', dio el siguiente error. El argumento de tipo 'desconocido' no se puede asignar al parámetro de tipo 'null | indefinido'. El tipo 'desconocido' no se puede asignar al tipo 'null'. Sobrecarga 3 de 3, '(valor: cadena | número | Fecha | nulo | indefinido, formato?: cadena | indefinido, zona horaria?: cadena | indefinido, configuración regional?: cadena | indefinido): cadena | null', dio el siguiente error. El argumento de tipo 'desconocido' no se puede asignar al parámetro de tipo 'cadena | número | Fecha | nulo | indefinido'. El tipo 'desconocido' no se puede asignar al tipo 'Fecha'.
alguna idea de donde puede venir el problema?
lastUpdate = new Promise((resolve, reject) => { const date = new Date(); setTimeout( () => { resolve(date); }, 2000 ); });Está creando una promesa sin especificar qué tipo debe tener el valor resuelto, por lo tanto, se escribe como unknown . Sin embargo, la tubería de fecha no acepta el tipo unknown .
Agregue el tipo Date a la promesa como la siguiente:
lastUpdate = new Promise<Date>( //...