你主要在意函数不能被 remove 掉吗?其实这个在 React.hooks
中就有类似的做法:
// 在请求回调的函数里 省略了请求代码
function callback(data){
function handleSomething(){
// use data do something
}
document.addEventListener('click', handleSomething);
return () => {
document.removeEventListener('click', handleSomething);
}
}
const removeEvent = callback({value: 'something...'});
// 当不在需要事件监听器的时候,使用 return 回来的清除函数
removeEvent();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…