我不太确定Title与我的问题有关,很抱歉。
我有调用回调函数的异步函数。所以主要的想法是我想在每次“asyncFunc”完成后调用函数“dodo”。
是否有一些模式?是否有问题与内存泄漏有关?
firestoreRef.update is not a function
答案 0 :(得分:1)
主要想法是我想调用函数" dodo"每次" asyncFunc"完了。
所以只需在那里打电话:
function dodoForever() {
asyncFunc(function(data) {
doSmth();
dodoForever(); // <==
});
}
dodoForever();
您不需要全球can
州和setInterval
。
答案 1 :(得分:0)
你可以打电话给它。像这样。
var can = true;
function dodo() {
if(can)
{
can = false;
asyncFunc(function(data) {
dodo(); // this will run `dodo` function again.
doSmth();
can = true;
});
}
}
setInterval(dodo, 0);
正如评论中提到的那样,这会使筹码上升。你有dodo
每0ms运行一次。这将基本上调用dodo
TON次,这基本上就是你的程序所做的一切。我不能想到一个必要的用例,它在性能方面可能不太公平。
真的想想你为什么试图像这样运行它以及最终目标是什么。