为什么settimeout不延迟函数执行?

2023-11-25

function tryToDownload(url)
{

       oIFrm = document.getElementById('myIFrm');
       oIFrm.src = url;
      // alert(url);
      // url=escape(url);

      setTimeout(deletefile(url), 25000); 
}

以下是删除文件函数

function deletefile(url){

$.ajax({
    type:'post',
    url: "<%= addToDoDeleteDownloadFile %>",
    data:{filename:url},
    type : "GET",
    timeout : 20000,
    dataType : "text",
    success : function(data) {
        alert("success");

    }
    });
}

上面是我的 jQuery,我在 25 秒后最后调用一个函数,但是它没有延迟 deletefile(url) 函数并在之后执行。那么问题应该是什么?


在这一行中,您正在调用您的函数并传递它的result to setTimeout().

setTimeout(deletefile(url), 25000);

如果你想延迟执行,添加一个包装函数:

setTimeout( function(){ deletefile(url); }, 25000);

EDIT

@Petah 提出的替代方案:

setTimeout(deletefile, 25000, url);

所有参数传递给setTimeout()延迟后,将传递给执行时的函数。所以在这种情况下,你通过参考到函数,延迟,然后按这个顺序到函数的参数!

请注意,根据MDN这种传递参数的方式在 IE9 之前的 IE 中不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么settimeout不延迟函数执行? 的相关文章

  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • jquery.validate 中是否有一个函数可以像重置表单一样重置单个字段?

    我想调用 jquery 函数来手动删除单个字段中的错误并重置错误标记 是否有一个函数可以执行此操作 类似于 resetForm 函数 您可以执行以下操作来验证单个字段 your field valid 也许它会对某人有所帮助 Thanks
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • Javascript/Jquery:确定用户是否使用鼠标滚轮、滚动条或键盘滚动

    我正在尝试让用户界面正常工作 如果他们使用鼠标滚轮 我需要让它以一种方式滚动 如果他们使用滚动条 我需要让它以另一种方式滚动 如果他们使用键盘 我需要让它以另一种方式滚动 我相信滚轮和滚动条都充当鼠标事件 但是当单击滚动条时我无法让 jav
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 无法在java中实现A Star

    我一整天都在尝试让这个算法启动并运行 但我一辈子都做不到 我在网上阅读了很多教程 以及 AS3 javascript 和 C 的源代码 但我无法将我所看到的内容适应我自己的代码 我创建了一个 AStar 类 它有一个名为 Node 的嵌套类
  • 如何将命令行参数传递给嵌套脚本?

    注意 这不是将 args 发送到顶级脚本 而是发送到由that script 在我的 package json 中 当我调用直接采用命令行参数的脚本时 它可以工作 但是 当我调用一个调用其他脚本的脚本时 它不会将命令行参数传递给它 我该如何
  • 实例方法的示例? (爪哇)

    我仍在学习 Java 中的方法 并且想知道如何使用实例方法 我在想这样的事情 public void example String random 但是 我不确定这实际上是实例方法还是其他类型的方法 有人可以帮我吗 如果它不是静态方法 那么它
  • 使用 Xcode 5 和 Matlab R2013b 在 OS X 10.9 中编译 mexopencv

    我有兴趣使用Kota Yamaguchi 的 mexopencv 库在我的系统上具有以下规格 OS X 10 9 小牛队 Xcode 5 MATLAB 2013b OpenCV 通过 macports 安装到 opt local inclu
  • 如何准确过滤 RGB 值以实现色度键效果

    我刚刚读过this教程并尝试了这个例子 所以我从网上下载了一个视频来自己测试 我所要做的就是在 if 条件下调整 RGB 值 这是示例中的示例代码 computeFrame function this ctx1 drawImage this
  • Android Facebook 示例应用程序在安装 FB 应用程序后无法登录

    起初我以为这是我的应用程序 但在使用任何 FB 示例应用程序时我遇到了完全相同的问题 以 HelloFacebookSample 为例 它为您提供一个登录按钮 登录后会显示您的照片并允许您发布状态更新 如果我的手机上没有安装 FB 应用程序
  • 将 URL 设置为 SEO 友好标题,使用破折号而不是 ID

    我正在使用 AngularJS 创建一个文章页面 其中包含各个文章详细信息的链接 这些链接基于 ID 以确保它们是唯一的 但我希望 URL 是带有破折号的标题 对 SEO 用户友好得多 而不是 ID 这是 Angular 示例 其中产品详细
  • 如何使用球衣发送 NTLM 验证的帖子请求?

    我正在使用 Java 对 Sharepoint 2013 进行 REST API 调用 如何使用 jersey Rest 客户端连接到 sharepoint 2013 注意 目前我正在使用 apache http 组件和NTCredenti
  • Python 错误代码

    我有一个 python 脚本 它使用 subprocess Popen 运行另一个 python 脚本的多个实例 每个实例都在不同的文件上运行 我收集了 300 个文件 我通过此过程运行这些文件以进行测试 每次运行时 都会有随机数量的文件失
  • Docker 远程 API 过滤器已退出

    我在 Docker Remote API 文档中看到过滤器可用于过滤状态 但我不确定如何形成请求 https docs docker com reference api docker remote api v1 16 list contai
  • 比较 Java 中的字符、整数和类似类型:使用 equals 还是 ==?

    我想确定一下 Java 中的一些事情 如果我有一个字符 一个整数或一个长整型以及诸如此类的东西 我应该使用 equals 还是 就足够了 我知道对于字符串 不能保证每个唯一字符串只有一个实例 但我不确定其他装箱类型 我的直觉是使用 equa
  • 在 Chrome/Mac 上强制 DOM 重绘/刷新

    每隔一段时间 Chrome 就会错误地渲染完全有效的 HTML CSS 或者根本不渲染 通过 DOM 检查器深入研究通常足以让它认识到其方式的错误并正确重绘 因此可以证明标记是好的 在我正在从事的项目中 这种情况经常发生 并且可以预见 因此
  • Android:以阿拉伯格式显示数字

    如何以阿拉伯格式显示数字 所以 如果我有整数 1 2 3他们成为 将区域设置设置为阿拉伯语 埃及 NumberFormat nf NumberFormat getInstance new Locale ar EG nf format i
  • 计算一行中有多少个 MySQL 字段被填充(或为空)

    我需要组合一种方法 使我能够量化用户已填充一行中的多少个字段 例如 User Name Age Country Gender Height 1 Mike 34 USA Male 6 2 Bill 23 CA 5 3 Jane 31 USA
  • .pdbrc 文件中的断点命令

    我想将断点命令保存在 pdbrc 就像是 b 81 commands 1 pp foo attr1 pp foo attr2 end b 108 commands 2 pp bar attr1 pp bar attr2 end 这将自动设置
  • 如何正确处理 nil UIApplication.sharedApplication().keyWindow

    当 的时候viewDidLoad称为视图应该被加载 但我总是崩溃UIApplication sharedApplication keyWindow为零 我应该把我的代码放在哪里 以便在加载视图后调用它 而不是每次用户回来时调用它 因此我已排
  • maven 着色 jar:更改输出位置

    我在使用 Maven Shade 插件时遇到困难 因为我希望将我的着色 jar 安装到与父 pom 相同的文件夹中 而不是本地src target目录 布局 maven 项目 guide parent pom xml projA pom x
  • 如何更改 ggplot2 条形图中的堆叠顺序?

    来自在线条形图指南 qplot factor cyl data mtcars geom bar fill factor gear 我怎样才能让 5 个坐在底部 4 个放在上面 3 个放在上面 qplot factor cyl data mt
  • 将 XMLDocument 写入具有特定换行符的文件 (c#)

    我有一个从文件中读入的 XMLDocument 该文件是 Unicode 并具有换行符 n 当我写回 XMLDocument 时 它有换行符 r n 这是代码 非常简单 XmlTextWriter writer new XmlTextWri
  • 为什么settimeout不延迟函数执行?

    function tryToDownload url oIFrm document getElementById myIFrm oIFrm src url alert url url escape url setTimeout delete