Function.createCallback 在 FireFox 中无法正确传递上下文

2023-12-03

我发现了 MS AJAX 库与 FireFox 交互方式中的一个错误——但也许我只是做错了。我有一个看起来像这样的脚本:

    dowork({ value: "some value", currentRetry: 0 });

    // Try to connect at least 10 times, with a second in-between retries..
    function dowork(request) {
        if (request.currentRetry < 10) {
            logMessage('currentRetry = ' + request.currentRetry + '; trying again in 1 second.');
            request.currentRetry++;
            var callback = Function.createCallback(dowork, { value: request.context, currentRetry: request.currentRetry });
            setTimeout(callback, 1000);
        }
        else {
            logMessage('Exceeded retries; currentRetry = ' + request.currentRetry);
        }
    }

换句话说,我正在尝试做一些可能会定期失败的事情,所以我想重试,比如说 10 次,中间再试一次。我能弄清楚如何做到这一点的唯一方法是使用 MS Ajax 库中的 Function.createCallback 位之类的东西。

这在 IE 8 和 Chrome 2 中可以正常工作,即它会产生以下输出:

当前重试 = 0; 1 秒后重试。
当前重试 = 1; 1 秒后重试。
当前重试 = 2; 1 秒后重试。
当前重试 = 3; 1 秒后重试。
当前重试= 4; 1 秒后重试。
当前重试= 5; 1 秒后重试。
当前重试 = 6; 1 秒后重试。
当前重试 = 7; 1 秒后重试。
当前重试= 8; 1 秒后重试。
当前重试 = 9; 1 秒后重试。
超过重试次数;当前重试 = 10

但是,在 FireFox(3.5 预览版,尚未在其他版本中测试过)中,输出如下所示:

当前重试 = 0; 1 秒后重试。 超过重试次数;当前重试=未定义

对解决方法或我做错了什么有什么想法吗?


好吧,我不知道 Function.createCallback 有什么问题,但我可以通过使用匿名方法来修复它:

var callback = function () { dowork(request) }; 
setTimeout(callback, 1000);

距离政府工作足够近。

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

Function.createCallback 在 FireFox 中无法正确传递上下文 的相关文章

  • 如何指示 Applescript 打开带有链接的新 Firefox 窗口?

    我的代码看起来像这样 tell application Firefox open location http rubyquicktips tumblr com end tell 但如果我打开 Firefox 该链接将在新选项卡中打开 但我希
  • FCM onMessage 无法在 Firefox 中工作,但可以在 chrome 中工作

    我的代码是工作完美在chrome上 版本103 0 5060 134 但是当我在firefox 103 0 上尝试时它不工作 Service Worker 注册成功 但无法接收通知 消息 控制台中没有显示错误 这是我的代码 顺便说一句 我正
  • C++ 类成员函数和来自 C API 的回调

    我正在尝试学习如何称呼它write data 函数从funmain 类中的函数如下面的代码所示 我知道如果我只列出这两个函数而不将其放入类中 该程序就可以工作 curl easy setopt curl CURLOPT WRITEFUNCT
  • jQuery 选择器定位具有 id AND class 的元素不起作用

    我有以下事件处理函数 jQuery document on click button submitb function e alert jQuery 包含在 html 文档中 但是 如果我点击 div class submitb Go di
  • 元素不适应 Firefox 上的

    使用 ES6 ish D3js 模块运行 Angular 6 应用程序会导致 Firefox 出现问题 Chromium Chrome Safari 和 IE Edge 工作正常 伪代码看起来类似于 生产代码可以在下面找到
  • 理解 JavaScript 的单线程本质

    我一直在阅读 John Resig 的 JavaScript Ninja 的秘密 它解释了 JavaScript 是单线程的 但是 我尝试对此进行测试 但我不确定要从这里删除什么 executing this in browser func
  • :target 伪类在 Firefox 中无法正常工作

    我正在使用 target 伪类制作一个具有 CSS 灯箱类型效果的页面 当您单击图像时 会弹出一个包含信息的框 当您单击任意位置时 该框会再次消失 它在 Chrome 和 IE 中运行良好 但在 Firefox 中存在一个奇怪的错误当您将鼠
  • ASP.NET AJAX 4.0 客户端数据绑定

    我在 MSDN 杂志上读到了一些有关 ASP NET AJAX 4 0 新功能的文章 主要是客户端数据绑定 我觉得 MSDN 杂志有时包含很多 营销 所以我对真正开发人员的意见很感兴趣 值得吗 您打算使用它吗 Edit 如果有人感兴趣的话
  • 如何使用 JavaScript 发布 ASP.NET MVC Ajax 表单而不是提交按钮

    我有一个使用创建的简单表单Ajax BeginForm Description br
  • grid-auto-columns 在 Firefox 中不能完全工作

    我不明白为什么 DIV 3 的大小与 DIV 1 DIV 2 的大小不同 https codepen io anon pen vaVqPW https codepen io anon pen vaVqPW grid display grid
  • 如何在 Firefox 控制台中访问附加内容脚本?

    我为 Firefox 和 Chrome 开发了一个插件 它有内容脚本 我想在浏览器选项卡的控制台中访问它们 在 Firefox 上网页控制台 https developer mozilla org en US docs Tools Web
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • Spotify 登录错误 INVALID_CLIENT:无效的重定向 URI android

    我正在制作一个包含 Spotify 集成的应用程序 我点击了此链接https developer spotify com technologies spotify android sdk tutorial https developer s
  • Application.onLowMemory() 未调用

    我创建了自己的应用程序类 我尝试调试它 代码在 Application onCreate 处停止 但不会在 onLowMemory 处停止 为了测试该场景 我打开了许多其他高内存应用程序 我看到的是调试会话终止 在 Eclipse 中 并且
  • 多处理中的动态池大小?

    有没有办法动态调整multiprocessing Pool尺寸 我正在编写一个简单的服务器进程 它会产生工作人员来处理新任务 使用multiprocessing Process对于这种情况可能更适合 因为工作人员的数量不应该是固定的 但我需
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • 带有来自 Selenium 2 / WebDriver 的 Id 的 jQuery 元素选择器

    我可以在 Selenium 中获取元素的 ID RemoteWebElement webElement getId 它返回一个像这样的字符串 e9b6a1cc bb6f 4740 b9cb b83c1569d96d 我想知道这个ID的来源
  • Python子进程:cmd退出时的回调

    我目前正在使用启动一个程序subprocess Popen cmd shell TRUE 我对 Python 相当陌生 但 感觉 应该有一些 api 可以让我做类似的事情 subprocess Popen cmd shell TRUE po
  • jQuery ajax POST 导致立即 GET 到同一 URL

    我使用 jQuery 1 4 2 和 Django 后端 并使用 Debian 上的 Firefox 3 5 15 进行开发 我使用 ajax 将一些数据发布到我的服务器 服务器将数据反射回浏览器 Firefox 正在发送 POST 然后立
  • JavaScript 语法是什么:{Ci, CC}? [复制]

    这个问题在这里已经有答案了 我正在做一些 FF 附加开发 我看到这样的语法 var Cc Ci require chrome 只是好奇这个语法是什么 以及它是否对 FF 开发或其他东西有特殊意义 这称为解构赋值 它的一个特点是JavaScr

随机推荐

  • 编写 Rx“RetryAfter”扩展方法

    在书里介绍ToRx作者建议为 I O 编写一个 智能 重试 在一段时间后重试 I O 请求 例如网络请求 这是确切的段落 添加到您自己的库中的一个有用的扩展方法可能是 返回 关闭并重试 方法 我合作过的团队发现了这样一个方法 该功能在执行
  • 如何确定 Python 类的每个属性和方法的定义位置?

    给定 Python 中某个类的实例 能够确定源代码的哪一行将很有用defined每个方法和属性 例如实现1 例如 给定一个模块 ab py class A object z 1 q 2 def y self pass def x self
  • 将文件夹的文件夹中的文件重命名为其父文件夹?

    我有一批文件夹 其名称基于日期 每个文件夹都有一个文件夹 其中的文件名全部相同 有没有办法重命名文件 使它们根据它们所在的目录结构 显示的是基于日期的父文件夹 第一个文件夹 而变得唯一 user date 1 2 2019 ABC 0001
  • 在 MS Access 2010 中使用正则表达式替换列

    ms access 2010中有一个名为sample的表 仅包含一列body 类型 文本
  • 完美转发与 const 引用

    我有一个简单的问题我不明白 int solution int a int b int main int a b std cin gt gt a gt gt b std cout lt lt solution std forward
  • Git:删除超过 1 年的提交

    我有一个 Web 应用程序 使用 git 不仅可以管理源代码控制 还可以部署更改 我将更改推送到 github 上的远程存储库 并且我的网络服务器有一个 webhook 然后根据这些更改进行更新 现在我注意到我的本地 git 存储库大约有
  • 我使用字典是否错误,看起来太慢了

    我使用了 VS 分析器并注意到程序大约 40 的时间花费在下面的行中 我在用着title1 and color1因为 Visual Studio 或 Resharper 建议这样做 下面的代码是否存在性能问题 Dictionary
  • codeigniter 调整图像大小并创建缩略图

    您好 根据 ci 文档 您可以使用 image lib 调整图像大小 并且有一些选项建议我们可以从该图像创建其他缩略图 create thumb FALSE TRUE FALSE boolean Tells the image proces
  • 链接时可以混合静态库和共享库吗?

    我有一个 C 项目 它生成十个可执行文件 我希望将所有这些文件静态链接 我面临的问题是这些可执行文件之一使用第三方库 其中只有共享对象版本可用 如果我通过了 static标记为 gcc ld 会错误说它找不到有问题的库 我认为它正在寻找 a
  • Spring MVC:如何重定向到有错误的页面?

    我试图让我的控制器重定向到带有自定义错误消息的页面 RequestMapping method RequestMethod POST public String processSubmit Valid Voter voter Binding
  • 如何制作深度常量指针

    假设我想用 C 表示二叉树 通常 我想要一个Node像这样的结构 struct Node Node left Node right 这里我使用结构体和原始指针只是为了简单起见 我知道我应该使用智能指针进行内存管理 这种表述有一个问题 我永远
  • Ruby 查看 csv 数据

    我从 csv 文件中获取一些数据 还有如何选择 csv 中的前 20 个数据 例如 A B C D E F 还有方法 def common uploader require csv arr CSV read Rails public pat
  • 如何从 Dataproc 上的检查点重新启动 Spark Streaming 作业?

    这是后续dataproc 上的 Spark 流抛出 FileNotFoundException 在过去的几周里 不确定从什么时候开始 重新启动 Spark 流作业 即使使用 kill dataproc agent 技巧也会抛出此异常 17
  • ORA-02070: 数据库不支持此上下文

    我有一个查询 例如 INSERT INTO sid rem dev db sid select sid from v session 现在 当我执行这个查询时 我得到 ORA 02070 database does not support
  • Google Translate API 和 Firebase Firestore 正在互相残杀

    我们正在尝试编写一个 Google Cloud Function 它从 Google Translate API 获取翻译 然后将结果写入我们的 Firebase Firestore 数据库 每个人单独工作 但一起工作就没有任何效果 换句话
  • FFmpeg filter_complex concat 仅给出作物的第一个输入

    在使用具有多个输入和多个输出的 concat 和crop 时 我遇到了问题 这是 ffmpeg y i input 1 mp4 i input 2 mp4 i input 3 mp4 i input 4 mp4 filter complex
  • 推送到 Heroku 时出错:找不到模块“node-linux-x64/package.json”

    将全栈 Javascript 应用程序部署到 Heroku 时 我收到以下错误 Error Cannot find module node linux x64 package json 还有一个语法错误 但我不认为这是原因 我是 Mac 用
  • 黑莓 - 如何用图像占据一个完整的按钮

    我编写了 BlackBerry 代码来将图像添加到 ButtonField 我希望整个按钮都被图像占据 但图像没有完全显示在 ButtonField 上 按钮的顶部 左侧和右侧都有很多边距 我尝试使用 cellpadding 但它不起作用
  • 使用 D3 的 XHR / Post 请求

    我正在研究如何使用极其强大的功能来发出 POST 请求D3 我完全可以推荐它用于数据可视化 并发现xhr2分支D3 的作者目前正在致力于 xhr POST 请求 和其他请求类型 支持 看起来这是一个全新的功能 因为合并请求来自昨天 2012
  • Function.createCallback 在 FireFox 中无法正确传递上下文

    我发现了 MS AJAX 库与 FireFox 交互方式中的一个错误 但也许我只是做错了 我有一个看起来像这样的脚本 dowork value some value currentRetry 0 Try to connect at leas