以下代碼邏輯是否會導致原始調用的堆棧幀包含每次後續調用的內存(導致內存使用量過多)?遞歸調用ajax導致內存泄漏?
function foo (arg) {
bar(arg);
}
function bar (arg) {
$.ajax({
success: function (data) {
if (data['result'] == 'continue') {
bar(data['nextarg']);
} else if (data['result'] == 'done') {
alert('done!');
}
}
});
}
乍一看,** **沒有,但可能依賴於瀏覽器 – WhiteHat
您是否遇到任何讓你相信這是怎麼回事? – Jesse
取決於什麼水平的數據[nextarg]返回繼續...您的瀏覽器將在這種情況下進行多個網絡調用,響應可能調用循環中的相同方法...您可以在服務器上做同樣的事情,並只返回最終響應。 ..對 ?或者只有在需要時纔可以進行延遲加載。你真的需要根據響應進行相同的Ajax調用嗎? – Nielarshi