내가 원하는 것은 다음과 같습니다.
function bindFunctions(bindFunction, callbackFunction) {
// Add binding so that I can call the callbackFunction if the bindFunction is called
}
function log(message) {
console.log(message);
}
function notifyUser() {
alert('Something');
}
bindFunctions(log, notifyUser);
log('Error'); // Now the notifyUser-functions should be called and "Something" printed to the alert-box
bindFunctions($('.element').click, function() {/* CODE */}); // Or this: but I don't know if this is even possible because this is not the event-function but the binding-function of the click-event
중요 : 나는에 영향을 미치지 bindFunction
않으므로 거기에서 트리거를 구현할 수 없습니다.
모든 종류의 기존 함수에 대한 콜백 첨부입니다. 이것이 가능한지 또는 방법을 알고 있습니까?
나는 당신이 그것을 잘못된 방식으로보고 있다고 믿습니다. 필요한 것은 좋은 오래된 의존성 반전 입니다. 필요한 모든 코드 log
는 더 높은 수준의 구성 요소 (예 : 응용 프로그램의 구성 루트)에서 수신해야합니다. 그런 다음 실제 .NET 대신 호출 하고 주입 하는 간단한 래퍼 를 자유롭게 구현할 수 있습니다.notifyUser
log
OO 관점을 취한 일부 기사를 링크했지만 더 기능적인 모델로 자유롭게 번역 할 수 있습니다 (접근 방식은 동일합니다). 귀하의 경우에는 클로저를 사용하고 있습니다 (특정 관점에서 단일 익명 메서드를 사용하는 객체와 "동등"함).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다