如何帶值到 function 繼續使用?即便 setTimeout ?

发布于 2022-09-07 19:45:41 字数 851 浏览 13 评论 0

$(document).ready(function() {
    product_online(<?=$prodIdForOnline;?>, '<?=$urlForOnline;?>');
    product_update_online(<?=$prodIdForOnline;?>, '<?=$urlForOnline;?>');
  });

  function product_online(id, url){
    $('#product_online').load('/models/notify?type=product-online&url='+url+'&id='+id, function(data){
    });
    setTimeout(product_online, 15000);
  };

  function product_update_online(id, url){
    $('.product_online').load('/models/notify?type=product-update-online&url='+url+'&id='+id, function(data){
      console.log('updated');
    });
    setTimeout(product_update_online, 10000);
  };

這是我完成的代碼
一開始 ready 後會帶兩個值給 function 使用
但是超過 setTimeout 的時間後就沒有值了,我知道是因為 setTimeout 裡面的 function 沒有帶值的關係
那請問一下如何當 setTimeout 的時候會帶剛剛 ready 的值再繼續啟用 function ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

失与倦" 2022-09-14 19:45:41

给setTimeout中的方法再包装一层即可, 举例:

function foo(id) {
    console.log(id);
    setTimeout(function() {foo(id);}, 1000);
}
无尽的现实 2022-09-14 19:45:41

setTimeout(code, milliseconds, param1, param2) // ie9+

或者

setTimeout((function(param1, param2){
    return function() {
        func(param1, param2)
    }
}(param1, param2)), milliseconds)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文