[javascript] Lodash의 웹 소켓 함수들과 사용 예제
Lodash는 JavaScript 유틸리티 라이브러리로, 다양한 도구와 함수를 제공하여 개발자들이 코드를 더욱 효율적이고 간결하게 작성할 수 있도록 도와줍니다. 이번에는 Lodash의 웹 소켓 관련 함수들과 그 사용 예제에 대해 알아보겠습니다.
1. _.throttle
_.throttle
함수는 주어진 함수를 일정 주기마다 실행할 수 있도록 해줍니다. 이는 웹 소켓 통신에서 사용자 이벤트나 API 호출 등을 제어하는 데 유용합니다.
다음은 _.throttle
함수의 사용 예제입니다.
import _ from 'lodash';
function sendWebSocketData(data) {
// 웹 소켓 통신 코드
}
const throttledSend = _.throttle(sendWebSocketData, 1000); // 1초마다 실행
window.addEventListener('click', function(event) {
throttledSend(event.target.innerText);
});
위의 예제에서는 클릭 이벤트가 발생할 때마다 sendWebSocketData
함수를 1초마다 실행합니다. 이를 통해 웹 소켓 통신이 너무 많이 발생하는 것을 제어할 수 있습니다.
2. _.debounce
_.debounce
함수는 주어진 함수를 일정 시간 동안 호출하지 않은 경우에만 실행될 수 있도록 해줍니다. 이는 웹 소켓 통신에서 사용자 입력에 대한 응답을 제어하는 데 유용합니다.
다음은 _.debounce
함수의 사용 예제입니다.
import _ from 'lodash';
function handleUserInput(input) {
// 사용자 입력 처리 코드
}
const debouncedHandleInput = _.debounce(handleUserInput, 500); // 0.5초 이내로 반복 호출시에는 마지막 호출만 실행
window.addEventListener('input', function(event) {
debouncedHandleInput(event.target.value);
});
위의 예제에서는 사용자가 인풋에 입력할 때마다 handleUserInput
함수를 0.5초 동안 호출하지 않은 경우에만 실행합니다. 이를 통해 사용자 입력에 대한 응답을 제어하고, 불필요한 웹 소켓 호출을 줄일 수 있습니다.