비동기를 깔끔한 함수형 프로그래밍 스타일로 작성하고 싶다면? promise-vigilant

안녕하세요:blush:

여러분께 좋은 라이브러리를 소개해 드리려고 합니다!

여러분의 비동기는 작성은 어떠신가요?

백엔드와 통신을 하려면 필수적으로 비동기 로직을 작성해야 하는데요

저의 경우에는 여러 가지 이슈 중에 역시 비동기 관련 문제가 많은 문제를 차지하네요:sob:

에러 핸들링을 작성할 때는 try-catch를 사용하거나.then으로 처리하다 보면 최악의 가독성을 경험했습니다. 또한 깔끔하게 함수만 전달하고 싶어도 쉽지 않았네요

이러한 불편함을 겪은 저는 비동기 파이프라인을 만들면 어떨까 하는 생각으로 시작된 프로젝트에요!

promise-vigilant 는 JavaScript의 비동기 작업을 처리하기 위한 라이브러리입니다. 이 라이브러리는 Promise 를 사용하여 비동기 작업을 관리하고, 작업의 상태를 추적하고, 작업이 완료되었을 때 콜백을 호출하는 강력한 기능을 제공해요

  1. promise-vigilant는 JavaScript의 함수형 프로그래밍 개념을 활용하여 작성된 라이브러리입니다. 함수형 프로그래밍 스타일은 상태 변경을 피하고, 불변성을 유지하며, 함수 조합을 통해 코드의 가독성과 재사용성을 높이는 방식으로 구현했어요. promise-vigilant는 이러한 원칙을 따르며, 순수한 함수와 고차 함수를 사용하여 비동기 작업을 처리하며, 이를 통해 코드의 가독성을 향상하고, 버그를 줄이며, 유지 보수성을 높일 수 있어요
  2. 타입 지원: promise-vigilant는 타입 지원을 제공하여 개발자가 타입 안정성을 확보할 수 있어요. TypeScript를 사용하는 프로젝트에서 promise-vigilant를 사용하면 정적 타입 검사를 통해 컴파일 타임에 타입 오류를 잡을 수 있도 있죠. 이는 코드의 신뢰성을 향상하고 디버깅 시간을 단축하는 데 도움이 됩니다.

함수형 프로그래밍 스타일과 타입 지원은 promise-vigilant의 주요 강점 중 일부입니다. 이를 통해 코드의 가독성, 유지 보수성, 안정성을 높일 수 있습니다.

어떤 프레임워크든지 자바스크립트를 사용할 수 있는 환경이라면 어디서나 사용할 수 있게 설계를 했어요 한번 부담 없이 즐겨보세요. :rocket:

:house: https://www.npmjs.com/package/promise-vigilant

찍먹해보시고 오 괜찮은 라이브러리 같으면 깃헙 :star: 부탁드려요!

더 자주 프로젝트에 관심을 가질 수 있는 원동력이랍니다.


프로젝트 기여

이런 기능이 있었으면 좋겠다 혹은 기여해 보고 싶다면 편하게 이슈를 등록해 주세요:smile:

Readme에 있는 다음 코드에서 return 뒤에 있늗 await은 삭제하는게 어떨까요? async함수의 return 값이 promise일 경우 이 리턴값이 resolve가 되어야 해당 asyn함수도 resolve 되니 결과는 동일하고 코드는 더 간결해지니까요.

async function loadGithubUser(name: string) {
  return await fetch(`https://api.github.com/users/${name}`);
}

async function loadJson(response: Response): Promise<GithubUser> {
  return await response.json();
}