问题标签 [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.
wcf - 我可以/应该使用模拟框架将事件动态添加到类吗?
考虑以下接口:
这是将从 WCF 服务接收“事件”的 WCF 回调的合同。我对此接口的实现如下所示
这允许我在客户端代码中实例化回调并挂钩 SomeEvent 事件。每当服务器调用我的回调时,我都会收到一个普通的旧 .NET 事件。一切都很好。
问题来了:我想写一个工厂类来自动创建这个回调,所以我很容易在我的所有项目和任何接口中重用这种方法。工厂将被称为:
我可以/应该使用模拟框架来动态创建这个类,还是应该硬着头皮直接发出 IL?还是我应该只手动编写每个实现的代码?还是有另一种我没有想到的方法?
ruby-on-rails - Rails after_save 回调创建基于 column_changed 的关联模型?
我有一个带有状态列的 ActiveRecord 模型。当模型与状态更改一起保存时,我需要将状态更改以及负责更改的人员写入历史文件。我在想 after_save 回调会很好用,但我不能使用 status_changed?动态方法来确定历史写入是必须执行的。如果模型已保存但状态未更改,我不想写入历史记录。我现在处理它的唯一想法是使用实例变量标志来确定 after_save 是否应该执行。有任何想法吗?
delphi - 将接口的方法作为参数传递
是否可以将接口的方法作为参数传递?
我正在尝试这样的事情:
但它不起作用,因为:
E2010 不兼容的类型:“TMoveProc”和“过程、无类型指针或无类型参数”
当然我可以为每个调用做私有方法,但这很难看。有没有更好的办法?
德尔福 2006
编辑:我知道我可以通过整个界面,但是我必须指定使用哪个函数。我不想要两个完全相同的程序和一个不同的调用。
我可以使用第二个参数,但这也很难看。
感谢大家的帮助和想法。干净的解决方案(对于我的 Delphi 2006)是 Diego's Visitor。现在我正在使用简单的(“丑陋”)包装器(我自己的,由 TOndrej 和 Aikislave 提供的相同解决方案)。
但真正的答案是“没有某种提供者,就没有(直接)方法可以将接口的方法作为参数传递。
multithreading - 比较函数和多线程
假设一个多线程环境和一个(正确同步的)具有一个特定过程的类
它需要一个键列表并对其进行排序。该过程使用 RTL 快速排序实现 TList.Sort:
现在解决问题:CompareKeys 必须访问该类的某些成员才能对列表进行排序(这就是该类的重点)。但是 RTL 要求 CompareKeys 是一个正常的函数。如何以线程安全的方式将数据从对象传递到 CompareKeys 函数?显然,使用全局交换变量不是一种选择,因为它绝不是线程安全的。
有什么想法吗?
jquery - jQuery nyroModal 与 ASP.NET 使用 Web 服务
我使用 jQuery nyroModal 插件已经有一段时间了,坦率地说,它是我迄今为止使用过的最好的模态插件之一!我希望很多其他人也使用过这个插件,因此我需要一些关于将它与 ASP.NET 一起使用的帮助。
然而,我在过去遇到了一个问题,并试图让它与 ASP.NET 服务器控件一起工作——基本上不能在模式中使用任何服务器控件,因为它创建了另一个表单标记,而且你显然知道,ASP。 NET 只允许一个表单标签。所以我决定改用标准的 HTML 控件,并使用 web-services/page-methods 调用服务器端代码(比如单击按钮)。这很好,但我不明白的是如何在模态中进行适当的回调,换句话说 - 单击按钮,模态缩小到默认大小并显示加载指示器,然后在 HTML 响应时放大已收到,并希望显示请求的状态(即成功或失败)
我刚刚开始学习 .NET 中的 Web 服务和回调,所以我绝不是专家。请有人对此有所了解并为我提供一个小的“hello world”示例吗?我将永远伟大!
感谢你!
c++ - 回调例程没有被触发
我创建了一个非常简单的一键式 MFC 对话框应用程序,它尝试利用回调函数。该应用程序符合并运行得很好,但回调例程永远不会被触发。
为了让回调正确触发需要修改什么?
您可以在此处下载 test.zip 文件(测试应用程序在 VS 2003 中,以确保更多人可以试用): http ://tinyurl.com/testfile-zip
该代码使用 CodeProject 上的警报类,并且回调函数应该每 3 秒触发一次(由传入的代码确定)。
谢谢!
c# - 我应该如何创建回调
编写回调的最佳方法是什么?我只需要调用 1 个具有 void (string, int) 信号的函数;这需要调用一个类,因为我有需要处理的成员 obj。写这个的最好方法是什么?在 C 中,我会传递一个 func 指针和一个 void*obj。我不喜欢这样,我怀疑在 C# 中有更好的方法来做到这一点?
ruby-on-rails - 克隆会影响 activerecord 回调吗?
我有一系列想要级联销毁的 ActiveRecord 对象,但其中一些对象没有被删除。
基本上我有如下: -
其中 Project 是项目的定义, Task 是该项目上的任务的定义, Schedule a has_many :through 将原始项目链接到另一个项目,这是原始项目的计划。
当我创建一个日程表时,我正在对原始项目进行深度克隆(即日程表是原始项目的克隆,日程表上的每个任务都是原始日程表上的任务的克隆)。
当我执行 schedule.destroy 时,我希望计划项目及其所有相关任务都被删除。但是,仅删除了计划项目,保留了计划任务。
这不是缓存问题,因为记录仍在数据库中。此外,在数据库中肯定有单独的任务被创建,日程 ID 作为项目 ID,它们自己的唯一 ID。
回调仍然会在克隆对象上触发吗?我在这里错过了一个技巧吗?
asp.net - Page.IsPostBack 和 Page.IsCallBack 有什么区别?
我最近遇到了一些检查代码,Page.IsCallBack
但我不确定它与Page.IsPostBack
. 任何人都可以启发我吗?
编辑:它们是互斥的还是在给定的情况下可以同时发生?
c# - 如何在 C# 中使用 WinAPI 中的 WSAAsyncSelect?
我厌倦了 .NET BeginRead、EndRead 的东西。我很想像以前在 Delphi/C++ 中那样使用 WSAAsyncSelect
是否可以在 C# 中设置该事件?