我正在尝试运行此代码段,它似乎没有执行回调。我试图了解正在发生的事情。
function exampleSimpleTask(done) {
console.log("task", "Before "+new Date().getTime());
setTimeout(() => done, 2000);
}
function demo() {
alert("Demo Executed");
}
exampleSimpleTask(demo); // it doesn't do anything.
// exampleSimpleTask.call(null, demo);
// exampleSimpleTask.call(null, demo.bind(this));
我不确定为什么要执行该回调,我怀疑它与箭头功能有关。如果将
=>
替换为function()
会发生什么? 最佳答案
在函数exampleSimpleTask
中,您永远不会调用函数done
function exampleSimpleTask(done) {
console.log("task", "Before "+new Date().getTime());
setTimeout(() => done(), 2000);
}
function exampleSimpleTask(done) {
console.log("task", "Before "+new Date().getTime());
setTimeout(() => done(), 2000);
}
function demo() {
alert("Demo Executed");
}
exampleSimpleTask(demo);