我正在尝试消除动作中的任何东西,它会以一种或另一种方式被吞噬...
使用此(伪)代码:
import { debounce } from "lodash";
const actions = {
debounceSomeLogging ({ dispatch }, text) {
console.log("Outside debounced function.");
debounce(function() {
console.log("Inside debounced function.");
dispatch("doRealThing");
}, 1000);
},
doRealThing({ commit }) {
// Whatever
}
}
调用该操作时,我看到了Outside debounced function
,但是看不到其他日志记录,也没有触发其他操作。
任何人都对此有经验,可以指出正确的方向吗?
答案 0 :(得分:1)
这应该确定工作
import { debounce } from "lodash";
const actions = {
debounceSomeLogging: debounce(({ dispatch }, text) => {
console.log("Inside debounced function.");
dispatch("doRealThing");
}, 1000),
doRealThing({ commit }) {
// Whatever
}
}
答案 1 :(得分:0)
正如nemesv在评论中指出的那样,debounce
函数不会调用内部函数。因此,您需要再次调用反跳,就像这样:
debounce(function() {
console.log("Inside debounced function.");
dispatch("doRealThing");
}, 1000)();
因此,简而言之,它应该像这样:
debounce(...)()
而不是像这样的debounce(...)
。