Recibo este error y no estoy seguro de por qué. En mi clase de diálogo tengo Promse y la lógica de falla. Recibo este error de compilación, cualquier ayuda sería genial.
Gravedad Código Descripción Archivo Proyecto Línea Supresión Estado Error TS2740 (TS) Al tipo 'Promise' le faltan las siguientes propiedades del tipo 'JQueryPromise': state, always, done, fail y 2 más.
var responsePromse = this.agentManager.getStyleGuideByAgentId(this.model.Id); responsePromse.then((response) => { this.styleguideNote.AgentType = response.responseObject.Name; }).fail(() => { this.relatedTemplates.loadingState = 0; });Administrador de agentes
getStyleGuideByAgentId(Id: number): JQueryPromise<any> { var request = this.agentsService.getStyleGuideByAgentId(Id); console.log(request); return request; }AgenteServicio
getStyleGuideByAgentId(Id: number) { var x = this.http.post(this.apiUrls.GetStyleGuideNotes, JSON.stringify(Id), { headers: ServiceBase.headers }).toPromise(); return x; }controlador
[HttpPost] public IHttpActionResult GetStyleGuideNoteById(long agentId) { var dbResult = StyleGuideNotesDataService.GetStyleGuideNoteById(agentId); var styleguideNote = dbResult .Select(x=> new { Section =x.Section, AgentType = x.AgentType, Status = x.Status.Name }) .Distinct() .ToList(); return Ok(styleguideNote); }Mensaje de error de TS como este formato Type 'A' is missing following properties from type 'B' significa que escribió 'B' explícitamente en un valor, pero el tipo del valor es en realidad 'A'.
Entonces, escribiste algo explícitamente como JQueryPromise , pero esa cosa en realidad era Promise .
Creo que este código da error.
getStyleGuideByAgentId(Id: number): JQueryPromise<any> { var request = this.agentsService.getStyleGuideByAgentId(Id); console.log(request); return request; } No estoy seguro, pero getStyleGuideByAgentId en realidad devuelve Promise estándar, no JqueryPromise debido a toPromise()
entonces, cambiar el código como este podría resolver su problema.
async getStyleGuideByAgentId(Id: number): Promise<any> { var request = await this.agentsService.getStyleGuideByAgentId(Id); console.log(request); return request; }