问题标签 [callback]

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

asp.net - GetCallbackEventReference 不能同步工作

我有一个利用框架 Page.ClientScript.GetCallbackEventReference() 方法的 ASP.NET 3.5 WebForm,我希望一些调用是同步的。

现在,文档说第五个参数(见下文)控制它。具体来说,当您传递“false”时,它应该是一个非异步调用。但是,无论是真还是假,它仍然异步处理调用。

是否有解决方法,或者我做错了什么?

0 投票
6 回答
3622 浏览

oop - 使用回调时如何避免循环依赖?

在设计具有生产者/消费者关系的两个类时,如何避免循环依赖?这里 ListenerImpl 需要一个对 Broadcaster 的引用才能注册/注销自己,而 Broadcaster 需要一个对 Listeners 的引用才能发送消息。这个例子是用 Java 编写的,但它可以应用于任何 OO 语言。

0 投票
3 回答
4413 浏览

.net - 在非托管代码中处理托管委托

我知道我可以让它在技术上工作,但我想实施最干净的解决方案。情况如下:

我有一个托管库,它包装了一个非托管 C 风格的库。我目前包装的 C 风格库功能会进行一些涉及字符串列表的处理。库的客户端代码可以提供一个委托,这样在列表处理过程中,如果遇到“无效”的场景,库可以通过这个委托回调给客户端,让他们选择使用的策略(抛出异常,替换无效字符等)

理想情况下,我希望将所有托管 C++ 隔离在一个函数中,然后能够调用一个单独的函数,该函数只接受非托管参数,以便所有本机 C++ 和非托管代码在这一点上被隔离。为这个非托管代码提供回调机制被证明是我的症结所在。

在这个片段中,我想在 ProcessList 中保留所有 C 库访问,但是在处理过程中,它需要做回调,并且这个回调以 InvalidStringFilter 委托的形式提供,该委托是从一些客户端传入的我的托管图书馆。

0 投票
2 回答
13062 浏览

delphi - 如何在Delphi中将对象方法作为参数传递,然后调用它?

我担心这可能是一个有点愚蠢的问题,但它让我很困惑。

我正在寻找将对象的方法传递给过程的最简单方法,以便过程可以调用对象的方法(例如,在超时之后,或者可能在不同的线程中)。所以基本上我想:

  • 捕获对对象方法的引用。
  • 将该引用传递给一个过程。
  • 使用该引用,从过程中调用对象的方法。

我想我可以使用接口实现相同的效果,但我认为还有另一种方法,因为存在这种“对象过程”类型声明。

以下内容不起作用,但它可能有助于解释我在哪里感到困惑......?

(一旦问题得到回答,我将删除上面的代码,除非它以某种方式有助于解释。)

0 投票
7 回答
54004 浏览

javascript - JavaScript 回调范围

在回调函数中引用我的对象时,我在使用普通的旧 JavaScript(无框架)时遇到了一些麻烦。

现在,当我创建一个新对象时(在 DOM 加载后,使用 span#test)

onclick 函数中的“this”指向 span#test 而不是 foo 对象。

如何在 onclick 函数中获取对我的 foo 对象的引用?

0 投票
2 回答
4930 浏览

java - GWT 中的客户端回调

我正在尝试为 GWT 应用程序创建一个记录器,作为评估 GWT 的练习。我特别想做的是拥有它,以便我可以在服务器端的任何时候将消息发布到客户端标签。因此,如果服务器上发生了一些有趣的事情,则可以更新客户端。

我的第一个问题是,这可能吗,我可以理解它不是。

其次,如果可能的话,我应该在哪里寻找信息,我已经尝试过 google 和他们的文档,所有的展示都没有这方面的信息。

谢谢

0 投票
3 回答
2060 浏览

.net - ASP.NET 2.0 回调在 Firefox 中无法正常工作

我已经实现了一个 .NET Web 控件,它使用在 ASP.Net 2.0 中实现的回调结构。它是一个自动下拉控件,在 IE 6.0/7.0 和 Google Chrome 中可以正常工作。这是相关的回调函数:

在 Firefox 中,“args”始终是相同的数据,因此<div>作为我的下拉菜单显示的 innerHTML 始终显示相同的项目。我已经仔细检查了我的客户端代码,并且正确的信息被发送到客户端->服务器并返回服务器->客户端。

值得注意的是,在 .NET 框架创建的“WebForm_DoCallback”函数中,调用了以下代码片段:

xmlRequest.open("POST", theForm.action, true);并且回调函数 ReceiveServerData 在和上都被调用xmlRequest.send(postData);。我想知道这是否会导致错误,但我的调试技能已经结束。

编辑添加——第一次使用下拉菜单时,ReceiveServerData 没有被调用两次——事实上,下拉菜单在第一次击键时就可以正常工作。在第一次击键后,它停止工作,并使用旧的返回数据使回调加倍。

0 投票
6 回答
26400 浏览

php - 什么是回调函数以及如何在 OOP 中使用它

我想使用php 简单的 HTML DOM 解析器从充满文章的页面上的每篇文章中获取图像、标题、日期和描述。在查看 API 时,我注意到它有一个 set_callback 设置回调函数。但是我不确定这是做什么的或我将如何使用它?在其中一个示例中,它用于调用删除一些内容的函数,我想知道您是否必须使用它来调用所有函数?

我想我想知道为什么我使用它,它有什么作用,因为我以前从未遇到过回调函数!

0 投票
7 回答
69174 浏览

php - 如何在 PHP 中动态调用类方法?

如何在 PHP 中动态调用类方法?类方法不是静态的。看起来

仅适用于静态函数?

谢谢。

0 投票
4 回答
30443 浏览

javascript - Javascript回调函数和递归

这是一个脑筋急转弯的问题,因为代码按原样工作得非常好,它只是稍微刺激了我的审美意识。我转向 Stack Overflow 是因为我自己的大脑现在让我失望了。

这是一段使用 Google Maps JS API 查找地址并在地图上放置标记的代码片段。但是,有时初始查找会失败,所以我想用不同的地址重复这个过程。

(第二个参数getLatLng是回调函数。)

当然,您可以看到使地图居中和缩放地图以及添加标记的三行是重复的,一次在主回调中,一次在“后备回调”中(哈哈)。你能找到一种方法来表达整个事情而没有任何冗余吗?如果您的解决方案适用于任意数量的备份地图字符串,您将获得奖励积分和我的赞美。