gpt4 book ai didi

javascript - 我怎样才能在javascript中修补这个不需要的和奇怪的迭代?

转载 作者:行者123 更新时间:2023-11-28 09:11:29 25 4
gpt4 key购买 nike

我编写了这个简单的脚本来在 YouTube 上搜索视频,但是此代码有一个奇怪的回声:

var nPageToken = response.nextPageToken;
if (nPageToken){
$('#moreButton').css('display','block');
$('#moreButton').click(function(){
searchRequest('', nPageToken);
});
} else {
$('#moreButton').css('display','none');
}

当点击页面底部的“更多结果”4或5次时,会产生奇怪的效果。这是complete code ,尝试home page然后点击底部的“更多按钮”四五次,然后查看具有相同 pageTokensearchrequest 的迭代。我不明白为什么,你能帮助我吗?谢谢

最佳答案

考虑到您在评论中的澄清,您无法从 searchRequest 函数内部调用 $('#moreButton').click(...) ,因为这将再次调用 searchRequest。这是发生的事情:

  1. searchRequest 首次调用。如果 nPageToken 为真(即不为 null、未定义、false 或 0),则将添加 #moreButton 的点击处理程序,以便 searchRequest 单击该按钮时调用。

  2. 您单击按钮,searchRequest 被调用。但如果 if (nPageToken) 通过,您将添加第二个点击处理程序,因此下次点击该按钮将调用 searchRequest 两次.

  3. 如果再次单击该按钮,将会发生同样的情况,并且 searchRequest 将在接下来的单击中被调用 4 次。等等,呈指数级增长......

解决方案似乎是将这部分移到 searchRequest 之外:

$('#moreButton').click(function(){
searchRequest('', nPageToken);
});

关于javascript - 我怎样才能在javascript中修补这个不需要的和奇怪的迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16265528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com