问题标签 [asynchronous]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
787950 浏览

javascript - 如何让 jQuery 执行同步而不是异步的 Ajax 请求?

我有一个提供标准扩展点的 JavaScript 小部件。其中之一是beforecreate功能。它应该返回false以防止创建项目。

我已经使用 jQuery 在这个函数中添加了一个 Ajax 调用:

但我想阻止我的小部件创建项目,所以我应该false在母函数中返回,而不是在回调中。有没有办法使用 jQuery 或任何其他浏览器内 API 执行同步 AJAX 请求?

0 投票
6 回答
9383 浏览

ajax - 您如何衡量 Web 服务调用的进度?

我有一个 ASP.NET Web 服务,它可以完成一些繁重的工作,比如一些文件操作,或者从一堆水晶报表生成 Excel 表格。我不想被调用这个 web 服务阻塞,所以我想让 web 服务调用异步。另外,我想从网页调用此 Web 服务,并希望有一些机制可以让我继续轮询服务器,以便我可以在屏幕上显示一些进度指示器,例如,已处理。请注意,我不想要 Web 方法调用完成时的通知,而是想要实时进度状态。我该怎么做?

0 投票
2 回答
2526 浏览

perl - Perl - Win32 - 如何从另一个进程非阻塞读取文件句柄?

我正在编写一些通过 STDIN 与客户端进程对话的服务器代码。我正在尝试编写一段 perl 代码,以异步接收来自客户端 STDOUT 的响应。代码的阻塞版本可能如下所示:

重要的是,该片段需要在 Win32 平台上工作。*nix 平台有很多我不感兴趣的解决方案。我使用的是 ActivePerl 5.10。

0 投票
6 回答
2353 浏览

.net - .NET 计时器:在 X 秒内收到通知的最佳方式是什么?

假设我有一个需要在 X 秒后引发的非重复事件,例如超时。直观地说,创建一个 System.Timers.Timer,将其间隔设置为 X*1000,将其刻度线连接到事件并启动它是有意义的。由于这是一个非重复事件,并且您只希望它在一次触发后才被触发,然后您必须在计时器计时结束后停止它。

然而,如果这确实是最好的方法,定时器本质上是重复的,这让我不信任。保存开始的时间会更好/更准确/更安全吗,将计时器设置为每秒(甚至毫秒)滴答,并在滴答时轮询系统时间并仅在必要时间过去后手动引发目标事件?

任何人都可以权衡哪种方法最好(也许我也没有想到另一种选择)。如果我需要等待的时间跨度以毫秒为单位,那么一种方法会变得比另一种更好吗?

0 投票
2 回答
9980 浏览

c# - C# 中多线程网络服务器的模式

有没有我可以遵循的模板/模式/指南来设计多线程服务器?通过我的谷歌搜索,我在网上找不到任何非常有用的东西。

我的程序将使用 TcpListener 启动一个线程来监听连接。每个客户端连接都将由它自己的 IClientHandler 线程处理。服务器会将 clientHandler.HandleClient 包装在一个委托中,调用 BeginInvoke,然后不再关心它。

我还需要能够干净地关闭监听线程,这是我在网上找不到很多例子的东西。

我假设 lock/AutoResetEvents/threading 魔术与 async BeginAceptTcpClient 和 EndAcceptTcpClient 的结合将使我到达那里,但是当涉及到网络代码时,对我来说一切都已经完成了。所以我必须相信我可以遵循一些模式,而不会被无数多线程的极端案例完全混淆,我似乎永远无法做到完美。

谢谢。

0 投票
2 回答
1688 浏览

asp.net - 在异步 WebMethod 调用之后更新 UI

问候!

我有一个 WebService,它包含一个 WebMethod,它做一些工作并返回一个布尔值。它所做的工作可能需要也可能不需要一些时间,所以我想异步调用它。

此 WebService 存在于 Web 场中的每台服务器上。因此,要在每台服务器上调用 DoWork() 方法,我有一个基于服务器 URL 列表的类库:

最后,在 asp:Button 点击​​事件中从 Web 界面调用它,如下所示:

对于 Web 窗体调用的静态 DoAllWork() 方法,我计划通过 IAsyncResult 进行异步调用。但是,我想在返回结果时为场中的每台服务器报告 DoWork() WebMethod 的成功/失败。与 UpdatePanel 结合使用的最佳方法是什么?一个网格视图?标签?静态助手类如何将其返回给 Web 表单?

0 投票
4 回答
4725 浏览

c++ - Boost:触发并忘记异步函数调用?

我想以一次性的方式调用函数。在 Boost / C++ 中执行此操作的最佳方法是什么?

我想向它传递两个参数并且不需要结果。

0 投票
2 回答
1805 浏览

.net - 使用 AJAX 在页面加载时触发异步方法

我正在使用带有 AJAX 扩展(1.0?)的 ASP.NET 2.0,我想知道是否可以异步调用方法并在页面加载后将结果填充到页面上。

我有一个由相当长时间运行的 SQL 查询填充的 gridview。我宁愿让页面出现并且结果在它们从服务器返回时慢慢返回,而不是强迫用户盯着空白页面直到所有内容都处理完毕。

0 投票
34 回答
1443101 浏览

javascript - 如何使用 jQuery 异步上传文件?

我想用 jQuery 异步上传文件。

我只获取文件名,而不是上传文件。我能做些什么来解决这个问题?

0 投票
2 回答
3400 浏览

c++ - 为 WinSocks 和 *nix 创建一个非阻塞套接字

在 C/C++ 中,如何在 WinSocks 和 *nix 中将阻塞套接字转换为非阻塞套接字;这样 select() 才能正常工作。您可以将预处理器用于特定于平台的代码。