발생일: 2013.09.24 키워드: 노드, Node.js, Q, 프라미스, Promises 문제: 최근 진행 중인 프로젝트엔 모든 비동기 작업에 프라미스 패턴을 적용해 구현하고 있다. 프라미스 구현체로는 Q 라이브러리(https://github.com/kriskowal/q)를 사용하고 있다. 노드 서버에도 Q로 프라미스 패턴을 도입했는데,Q에서는 노드 콜백 패턴을 쉽게 프라미스 객체로 변경할 수 있는 메서드를 제공하고 있어서 편리하다. 해결책: https://github.com/kriskowal/q#adapting-node 노드의 콜백은 function (err, result) 형태의 패턴을 따른다.q 라이브러리에서는 이런 콜백을 프라미스 객체로 래핑할 수 있게 다양한 방법을 제공하고 있다. nfcal..
발생일: 2013.11.20 문제: 프라미스 패턴 구현체 중 하나인 `Q` 라이브러리(https://github.com/kriskowal/q) 코드를 보다보니,`deprecated` 된 API를 구현하는 좋은 아이디어가 있어 메모해둔다. 해결책: Q 라이브러리는 어떤 API가 deprecated 되었을 때 아래와 같이 구현하고 있다. promise.valueOf = deprecate(function () { if (messages) { return promise; } var nearerValue = nearer(resolvedPromise); if (isPromise(nearerValue)) { resolvedPromise = nearerValue; // shorten chain } return near..