问题标签 [synchronous]

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 投票
7 回答
5225 浏览

apache-flex - Flex 中的同步对话框?

如何在 Flex 中打开同步对话框?我需要从外部接口 (JavaScript) 调用一个函数,该函数将在 Flex 应用程序中打开一个简单的对话框,并根据用户单击的按钮(确定/取消)返回一个值。

所以它应该通过对对话框的同步调用,即调用等待直到用户像这样关闭对话框。

有人知道我该怎么做吗?我可以编写一个循环,等待对话框设置一个标志,然后读取结果以返回它,但必须有一些更优雅和可重用的东西来等待其他异步调用的完成。

编辑: 不幸的是,回调不起作用,因为调用 onApplicationUnload() 本身的 JavaScript 函数必须返回一个值(类似于 Flex 中的 onApplicationUnload() 函数)。这个 JavaScript 函数有一个固定的签名,因为它是由框架调用的,我无法更改它。或者换句话说:从 JavaScript 到 Flex 的调用也必须是同步的。

0 投票
3 回答
1866 浏览

cocoa - Cocoa 中是否有用于 Windows 中同步 TrackPopupMenu 的等效技术?

为了响应 rightMouse 事件,我想调用一个显示上下文菜单、运行它并响应所选菜单项的函数。在 Windows 中,我可以使用带有 TPM_RETURNCMD 标志的 TrackPopupMenu。

在 Cocoa 中实现这一点的最简单方法是什么?似乎 NSMenu:popUpContextMenu 想要将事件发布到指定的 NSView。我必须创建一个虚拟视图并在返回之前等待事件吗?如果是这样,鉴于我没有返回我的 main ,我该如何“等待”或刷新事件?

0 投票
4 回答
6599 浏览

c# - 在 C# 中同步包装异步方法

我有一个第三方库,其中包含一个异步执行功能的类。该类继承自Form。该函数基本上基于存储在数据库中的数据执行计算。完成后,它会在调用表单中调用 _Complete 事件。

我想做的是同步调用函数,但从非 Windows 窗体应用程序。问题是,无论我做什么,我的应用程序都会阻塞并且 _Complete 事件处理程序永远不会触发。从 Windows 窗体中,我可以通过使用“完成”标志和“while (!complete) application.doevents”来模拟同步运行的功能,但显然 application.doevents 在非 Windows 窗体应用程序中不可用。

有什么东西会阻止我在 Windows 窗体应用程序之外使用该类的方法(由于它继承自“Form”)?有什么办法可以解决这个问题吗?

谢谢,迈克

0 投票
2 回答
50051 浏览

web-services - 如何使用 vbscript(同步)调用 Web 服务?

实际上有很多例子,我已经使用了其中一个。但它是异步工​​作的,我的意思是它不等待我调用的函数完成。

我在 javascript 函数中调用 ProcessSend 函数。它连接到 web 服务,并返回“响应”变量。但我的 javascript 函数不等待 ProcessSend 函数结果。我怎样才能使它同步?

0 投票
2 回答
7308 浏览

javascript - Ajax 同步回调

我在本地文件夹中有一个 pageTest.html,此页面调用 service.ashx?i=...(返回值参数通过递增 +1)并遵循 Ajax 代码:

html页面调用这个函数m次(带脚本..):

在页面加载期间,调用以“异步模式”执行,但我在 Ajax 中设置了“ async: false ”。我阅读了这个问题并找到了原因,即如果在不同的域中,Ajax 无法同步从 page.html 到 service.ashx 的调用。是否有在 page.html 中对 service.ashx 执行同步调用的解决方案(在不同的域中)?

0 投票
5 回答
3921 浏览

xml - Flex 3:同步加载一个xml文件

我的问题很简单:在flex3中,有没有办法同步加载一个xml文件?

我知道如何使用加载事件异步加载。这可能有用,也可能没有。我只想读取文件,解析它,做我必须做的事情,然后继续执行代码。

我有一个使用 xml 文件来存储一些配置参数的组件。我需要在初始化对象时读取文件。但是,使用事件模型,我无法控制文件何时加载,因此我必须编写代码来“等待”代码加载。这太荒谬了,还是我?我想要这样的代码:

我可以处理事件的 xml 文件,它工作正常,但事件在doSomething 方法之后触发。

我希望我已经解释了自己。我认为这应该很容易,但这让我发疯。除非真的有必要,否则我不想编写代码来等待事件。我觉得这一切应该只是一行代码!

0 投票
4 回答
18487 浏览

c# - 如何在 SIlverlight 中实现对 WCF 服务的同步调用?

有时我需要在 Silverlight 中调用 WCF 服务并阻止 UI 直到它返回。当然,我可以分三步完成:

  1. 设置处理程序和阻止 UI
  2. 呼叫服务
  3. 完成所有操作后取消阻止 UI。

但是,我想将 DoSomethingSync 方法添加到服务客户端类,并在需要时调用它。

是否可以?有没有人真正实现过这样的方法?

更新: 看起来答案是根本不使用同步调用。将为异步调用寻找一些易于使用的模式。查看这篇文章(取自评论)了解更多信息。

0 投票
7 回答
468 浏览

c++ - 一个函数没有在线程内返回,如何保证不会再次进入?

我不希望该函数被多个线程同时输入,我也不希望它尚未返回时再次输入。有什么方法可以实现我的目标吗?非常感谢!

0 投票
2 回答
9721 浏览

sql - TSQL 使 EXECUTE 语句同步

我有两个 TSQL EXEC 语句

如何使两个 EXEC 同步?; 现在第二个 EXEC 不会等待第一个 EXECUTE 完成。我尝试发出 WaitFor 延迟,它等待但第二个 EXEC 语句永远不会返回。

谢谢。

更新,这里有更多信息:

  1. 首先执行创建一个全局临时表并从一个复杂的 SELECT 查询中填充它。
  2. 第二个 EXEC 是一个 CLR 存储过程,它根据最近创建和填充的全局临时表中的变量生成动态 SP。

现在第二个 EXEC 抱怨找不到 Global Temp 表。

更新 2,发现问题(还有我!!)

GBN(和其他人)对答案持空白。执行是同步的。问题?我对问题本身的理解..我提到过

  1. EXECUTE (N'MyDynamicallyGeneratedStoredProcedure') -- 成功返回 0

它应该是:

1(a) EXECUTE (N'CreateMyDynamicStoredProcedure') -- 成功返回 0

1(b) EXECUTE (N'MyDynamicStoredProcedure') -- 成功返回 0

我错过了 1(b) 实际上是在其他地方和步骤 (2) 之后执行的。

(我应该去活下去!!)

0 投票
22 回答
1029705 浏览

asynchronous - 异步与同步执行,主要区别是什么?

异步执行和同步执行有什么区别?