tengo este codigo:
const compose2 = (f, g) => (...args) => f(g(...args)) const compose = (...fns) => fns.reduce(compose2) const count = arr => arr.length const split = str => str.split(/\s+/) const addAsyncWord = async str => `${str} some words obtained asynchronously` const read = text => text const word = compose( count, split, (await addAsyncWord), read ) console.log('word ->', await word()) //<- editedpero arroja el siguiente error:
Uncaught SyntaxError: missing ) in parentheticalel resultado esperado después de leer, concatenar palabras (obtenidas de un servidor aleatoriamente, debe ser asincrónicamente), dividir palabras y finalmente contar la longitud total, debe ser algo similar a esto:
word -> 10¿Cómo hacer que esto funcione? Gracias
Publicaré mi solución aquí si ayuda a alguien en el futuro:
const compose2 = (f, g) => async (...args) => f(await g(...args)) const compose = (...fns) => fns.reduce(compose2) const count = arr => arr.length const split = str => str.split(/\s+/) const addAsyncWord = async str => `${str} some words obtained asynchronously` const read = text => text const word = compose( count, split, addAsyncWord, read ) const test = async () => { const word1 = await word('Hello world') console.log('word ->', word1) } test()gracias por tus comentarios.