기본 콘텐츠로 건너뛰기

라벨이 generator인 게시물 표시

generator 연습

co 를 손으로 직접 만들어서 재귀를 통해 next() 를 돌려봤다. 결국 fiber 랑 같은 패턴인게 아닌가 싶은데 그래도 순정이니까 좋은 것.. node-fetch는 http request를 하고 promise를 반환형으로 갖는 독특한 라이브러리인데 yield랑 함께 쓸 수 있다. fetch=require 'node-fetch' r = (generator)->   iterator = generator()   # recurse   iterate = (iteration)->     if iteration.done       iteration.value     else       iteration.value.then (x)-> iterate iterator.next x   iterate iterator.next() r ->   uri = "http://jsonplaceholder.typicode.com/posts/1"   response = yield fetch uri   json = yield response.json()   json?.title .catch (error)-> console.error "ERROR", error.stack .then (x)-> console.log x