Tengo una función asíncrona y necesito hacer lo siguiente en esta función:
Esto es lo que hice:
public async foo(): Promise<B> { const promiseA: Promise<A> = ajaxRequest(...); promiseA.then((a) => { return new Promise<B>((resolve) => { const b: B = process(a); resolve(b); }) }); promise.catch(e => { console.error(e); return new Promise<B>((resolve) => { resolve(null); }) }) } Y obtengo A function whose declared type is neither 'void' nor 'any' must return a value. error de compilación. ¿Alguien podría decir cómo hacerlo?
Su función parece simplificarse a
class Something { public async foo(): Promise<B | null> { try { const a = await ajaxRequest(...); return process(a); } catch (e) { console.error(e); return null; } } } asumiendo process devuelve B .