Promise를 이용한 텍스트 검색 기능 구현

이번 글에서는 JavaScript의 Promise를 활용하여 텍스트 검색 기능을 구현하는 방법을 알아보겠습니다.

문제 개요

주어진 텍스트에서 특정 단어를 검색하는 기능을 구현해야 합니다. 해당 단어가 텍스트에 존재하면 결과로 해당 단어가 몇 번 나타나는지를 반환하고, 존재하지 않으면 0을 반환해야 합니다.

구현 방법

아래는 텍스트 검색을 위한 searchText 함수의 예시 코드입니다.

function searchText(text, word) {
  return new Promise((resolve, reject) => {
    // 텍스트에서 단어 검색
    const regex = new RegExp(word, 'gi');
    const matches = text.match(regex);

    if (matches) {
      resolve(matches.length); // 검색된 단어의 개수 반환
    } else {
      resolve(0); // 검색된 단어 없음
    }
  });
}

위 코드에서는 Promise 생성자를 이용하여 비동기 작업을 수행합니다. 검색된 단어의 개수는 resolve 함수를 호출하여 반환하고, 검색된 단어가 존재하지 않을 경우에는 0을 반환합니다.

사용 예시

const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt condimentum purus, eu mattis turpis consequat sit amet. Morbi fermentum massa nec mauris rutrum auctor.";

searchText(text, "consectetur")
  .then(count => {
    console.log(`검색된 단어의 개수: ${count}`);
  })
  .catch(error => {
    console.error(error);
  });

위 예시 코드에서는 주어진 텍스트에서 “consectetur”라는 단어를 검색하고, 검색된 단어의 개수를 출력합니다.

결론

이번 글에서는 JavaScript의 Promise를 활용하여 텍스트 검색 기능을 구현하는 방법을 알아보았습니다. Promise를 사용하면 비동기 작업을 보다 간단하게 처리할 수 있습니다. 텍스트 검색 외에도 Promise는 다양한 비동기 작업을 처리하는 데 유용하게 사용될 수 있으니, 다양한 상황에서 활용해보시기 바랍니다.

#JavaScript #Promise