Javascript:非阻塞方式等待条件为真

2023-11-22

我有几个 ASP.NET UpdatePanel,每个都有一个与同一按钮的服务器端单击事件绑定的 AsyncPostBackTrigger。由于一次只能有一个 UpdatePanel 执行其操作,因此我使用.get_isInAsyncPostBack() of the PageRequestManager以防止用户在异步回发完成之前无法访问页面的其他部分。

该页面的另一部分需要连续动态更新多个更新面板。由于更新面板使用异步触发器,因此调用__doPostBack("<%=ButtonName.ClientID %>", 'PanelId');异步触发。因此,它将快速移动到循环的下一个迭代并尝试更新下一个面板。但是,第二次迭代失败,因为已经有另一个更新面板在执行异步回发。

理想情况下,有一种方法可以等到.get_isInAsyncPostBack()返回 false 而不阻止其他客户端活动。

研究让我找到了很多有我问题的人,几乎所有人都被建议使用setTimeOut()。我不认为这对我有用。我不想在执行函数之前等待指定的时间。我只是希望我的 Javascript 在另一个脚本运行时等待,最好等到特定条件成立。

我知道很多人可能会建议我重新考虑我的模型。这实际上不是我的模型,而是交给我们开发团队的模型,目前该团队的内部情况一团糟。由于时间限制,无法重写模型。唯一的选择就是让这项工作发挥作用。我认为如果我有办法让客户端代码等待而不阻塞,我的问题就会得到解决。


JavaScript 中没有诸如等待或睡眠之类的功能,因为它会阻止浏览器响应。

对于你的情况,我会采用类似于以下内容的内容:

function wait(){
  if (!condition){
    setTimeout(wait,100);
  } else {
    // CODE GOES IN HERE
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript:非阻塞方式等待条件为真 的相关文章

  • 将 JavaScript 数组转换为具有属性的数组

    我有一个像这样的数组从服务器返回响应 111 1010 111 1010 1010 我想将其转换为 JavaScript JSON 如下所示 branch 111 branch 1010 branch 111 branch 1010 bra
  • Chart.js 渲染垂直堆积条形图太慢

    我正在使用 Chart js API 渲染多个堆叠的垂直条形图 但性能很慢 我什至做了一些改变 这样所有的content对象已经由服务器而不是浏览器处理 但我意识到大部分时间来自最终函数new Chart overallStatsChart
  • 如何将毫秒转换为可读的日期?

    下列 new Date 1324339200000 toUTCString Outputs Tue 20 Dec 2011 00 00 00 GMT 我需要它返回Dec 20 除了我可以使用的更好的方法之外toUTCString 我正在寻找
  • 在 JSON 数组中按属性查找对象

    我在获取 JSON 数据中的字符串时遇到问题 格式如下 name Alice age 20 id David last 25 id John last 30 有时它会一起改变位置 John从第三名到第二名 name Alice age 20
  • 如何使用 javascript/ASP.NET/CSS 旋转和淡入淡出背景图像

    我需要随机淡入淡出背景图像 这将是一个定时函数 例如每 5 秒一次 我需要使用 ASP NET Javascript CSS 或全部三者来完成此操作 请大家帮帮我 谢谢 Cycle 一个 jQuery 插件 是一个非常灵活的图像旋转解决方案
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • Android键盘点击搜索输入时出现和消失

    我在用谷歌地图 Js API当我搜索一个地方时 我的输入搜索栏工作正常 当我通过 iPhone 设备使用它时 它也工作得很好 但是当我通过Android 设备然后键盘立即出现和消失 我已经找到了一些关于当我按下搜索栏时 android 键盘
  • 节省页面加载时间的提示[重复]

    这个问题在这里已经有答案了 我的问题 削减那些不必要的 kb 并使页面加载速度更快的最佳方法是什么 全部是什么优化实践 编码实践 在js php中 如果执行可以使您的页面更轻 为什么我问这个 我读了这篇关于 jquery js 与 jque
  • ES6 Promises/在满足多个 Promise 后调用函数(不能使用 Promises.all)[重复]

    这个问题在这里已经有答案了 我正在编写 Javascript 它需要这些事件按以下顺序发生 同时触发多个 API 调用 所有调用完成且响应返回后 执行一行代码 听起来很简单 但棘手的部分是我不能使用 Promises all 因为我仍然希望
  • 为什么 if 语句中的赋值等于 true?

    首先我要说的是我理解两者之间的区别 and 第一个用于将右侧值分配给左侧变量 第二个用于比较两个值的等价性 第三个不仅用于等价性 还用于类型比较 即true 1会回来false 所以我知道almost任何时候你看到if 作者很有可能打算使用
  • 如何在 Vue.js 2 中使用事件总线通过自定义事件传递数据

    我在用着Vue js 2 5 x 在我的玩具项目中 我实现了一个事件总线 类似于所示的here https alligator io vuejs global event bus 事件总线在 Vue 原型中全局注册为 eventBus 然后
  • javascript 多维类型数组 (Int8Array) 示例

    我尝试使用类型数组而不是数组来减少内存 function createarrayInt8 numrows numcols number var arr new Int8Array numrows for var i 0 i lt numro
  • 如何设置第三方 cookie

    我如何设置第三方 cookie 我有要求设置cookie 并且cookie将在访问的网站中启用 就像我在访问cde com或def com或ghi com时在abc com中设置cookie一样 所以设置的cookie将在所有网站上获取 我
  • 添加元数据到快速路线

    有什么方法可以将元数据添加到 Express 的路线中吗 例如 app get some route function req res some meta data 我正在寻找一种针对我的节点应用程序的 AOP 方法 因此我想通过身份验证和
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • IE 开发工具断点不起作用

    我正在尝试在 IE 11 中调试一些 javascript 但无法强制它在断点处停止 debugger 行工作正常 停止该行中的调试器 相同的文件没有debugger 行但在同一位置设置断点不会执行任何操作 功能正常 但调试器不会在断点处停
  • 401 未经授权的帖子回复

    我一直在使用 Angular 模板制作 Node js 网站 但我无法在 DB Mongo 上创建数据 这是代码 节点路由 var Property mongoose model Property var jwt require expre
  • 如何找出javascript中加载了哪些javascript?

    继另一个问题的评论之后 我问自己是否有办法获取页面上加载的所有 js 代码的列表 就像 Firebug 或 chrome Inspector 所做的那样 有没有一种纯javascript的方法 一种方法是抓取脚本标签 但这样你可能会错过动态
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • 使用 document.getElementsByName() 不起作用?

    第二个警报命令的代码按预期工作 显示元素 to 的值 但第一个警报命令不起作用 它应该做同样的事情 这是为什么

随机推荐

  • Swift:无法在 if let 语句条件中使用数组过滤器

    假设我有一个用户名数组 let users Hello 1212 12 Bob Rob 我想得到第一个名字长度为2的用户 所以我过滤了数组并得到了第一个用户 if let selected users filter 0 characters
  • 使用 Chokidar 监视特定文件扩展名

    我正在寻找使用 nodejs Chokidar 观看文件夹 我只想监视 xml 文件的添加 删除 我是 Chokidar 的新手 无法弄清楚 我尝试设置 Chokidar 忽略以匹配以 xml 结尾的所有字符串 但看起来 Chokidar
  • C# = 为什么 Excel 进程没有结束?

    我有以下代码 private bool IsMousetrapFile string path logger Log validateFileMessage path Excel Application xlApp new Microsof
  • Objective C 中的模运算符

    来自 Objective C 编程 Kochan 程序5 8提示用户输入数字 然后显示数字 从该数字从最右边到最左边的数字 Program to reverse the digits of a number import
  • Java中如何快速判断一个方法是否被重写

    如果我可以确定同一类中的另一个方法没有被覆盖 那么我可以对我的其中一个方法应用可能的优化 这只是一个轻微的优化 所以反射是不可能的 我是否应该创建一个受保护的方法来返回该方法是否被重写 以便子类可以使其返回 true 我不会这样做 它违反了
  • 使用 monotonically_increasing_id() 将行号分配给 pyspark 数据帧

    我使用 monotonically increasing id 使用以下语法将行号分配给 pyspark 数据帧 df1 df1 withColumn idx monotonically increasing id 现在 df1 有 26
  • Twitter 搜索 (atom) API - 排除转发

    我正在使用 Twitter 的 Atom 搜索 API 现在我用某个词呈现所有 最新的 5 条 推文 但不幸的是 很多人转发了这篇帖子 而我同样的帖子被转发了 5 次 我可以排除转发吗 如果是这样 怎么办 我已经通过添加成功排除转发 排除
  • 如何检查输入文本字段是否仅包含空格?

    在 Javascript 中检查输入文本字段是否为空 不包含任何内容或仅包含空格 的最简单方法是什么 var str document getElementById myInput value if str match s nothing
  • 使用 websocket mod_proxy_wstunnel 进行反向代理

    我的 Web 套接字和反向代理 Apache 有问题 我已升级到最新版本 2 4 5 并加载了模块mod proxy wstunnel httpd conf
  • Rails 3.x 是否有调试工具栏

    I used 机架 错误一年多前 现在我想将它与新的 Rails 3 1 项目一起使用 我尝试安装 master 和 Rails3 分支 但没有成功 也尝试过一些 github 分支但他们也没有工作 有没有具有相同功能的替代方案 附 我已经
  • 使用 T-SQL,从字符串中返回第 n 个分隔元素

    我需要创建一个函数 它将返回分隔字符串的第 n 个元素 对于数据迁移项目 我使用 SQL 脚本将存储在 SQL Server 数据库中的 JSON 审核记录转换为结构化报告 目标是在没有任何代码的情况下交付一个 sql 脚本和该脚本使用的
  • Windows 内存文件系统

    我有一个命令行可执行文件 需要在 Windows XP 上从 Java 运行 它使用文件作为输入和输出 但我想避免文件IO的开销 所以我想到了内存RAM文件系统 NetBSD 有mount mfs 您能推荐最方便的方法吗 您还应该考虑您是否
  • 如何在 F# 中定义 printfn 等效项

    由于我使用 F 进行研究 特别是使用 F 交互式 因此我希望拥有可切换的 调试时打印 功能 I can do let dprintfn printfn F 交互式 说 val dprintfn Printf TextWriterFormat
  • 如何让 xdebug/step-debugging 与 ddev 一起使用?

    我一直在我的 Drupal 项目上使用 ddev 现在想使用 xdebug 这样我就可以使用 PhpStorm 进行逐步调试 或者实际上任何 IDE 都可以 但我似乎无法让它在断点处停止 我试图遵循ddev 文档中的说明但这并没有让我继续下
  • 在 Matlab 中生成包含给定集合中至少一个元素的所有组合

    I use combnk生成组合列表 如何生成始终包含特定值的组合子集 例如 对于combnk 1 10 2 我只需要包含 3 和 或 5 的组合 有没有快速的方法可以做到这一点 好吧 在您的具体示例中 从集合 1 10 中选择两个整数 其
  • 无法更改引导工具提示标题

    我已经浏览了有关堆栈溢出的几篇文章 询问了几乎完全相同的问题 但我在这些问题上发现的内容都没有帮助 我对 JQuery 和 Bootstrap 非常陌生 所以也许我只是错过了一些非常简单的东西 我希望能够在第一次初始化后更改不同元素上的工具
  • 如何将 boost 线程添加到向量中

    我有这样的错误 vector
  • Android ZipInputStream:只有 DEFLATED 条目可以有 EXT 描述符

    在我的 Android 设备上 我需要提取从内容 uri 获取的文件 一个 xapk 据我所知 这是一个普通的 zip 存档 我正在使用这行代码创建 ZipInputStream ZipInputStream zis new ZipInpu
  • *(a++) 给出错误,但 *(a+1) 没有给出错误?其中 a 是数组名称?

    在下面的代码中 void main char a 1 5 3 4 5 6 printf d n a line gives error wrong type argument to increment printf d n a 1 第 4 行
  • Javascript:非阻塞方式等待条件为真

    我有几个 ASP NET UpdatePanel 每个都有一个与同一按钮的服务器端单击事件绑定的 AsyncPostBackTrigger 由于一次只能有一个 UpdatePanel 执行其操作 因此我使用 get isInAsyncPos