问题标签 [observers]

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

magento - 从一个称为槽 ajax 的控制器调度事件?

我正在从控制器对动作进行 ajax 调用,在所有代码逻辑执行之后,我正在调度一个事件。不幸的是,我似乎无法与观察者一起捕捉到这个事件。

我正在使用来自控制器的标准调度事件,将其添加到我的模块 config.xml 并在我的模块observer.php 中添加功能

有没有其他人成功地尝试过这种情况?

0 投票
1 回答
416 浏览

ruby-on-rails - Rails 回调、观察者、模型以及放置方法和逻辑的位置

我正在开发一个应用程序。基本的东西,用户注册(与相关组织)。

最初我从一个简单的控制器开始 -

我很快发现自己陷入了回调汤:

验证组织后,我们保存用户。创建组织后,我创建了另外两个模型,EmailTemplate 和 PassTemplate(一个组织 has_one :email_template,has_one :pass_template)

这些回调中的每一个通常都会调用模型上的方法,例如:

最初我认为这很聪明——在幕后做了这么多,但我一直在阅读 Steve McConnell 的 Code Complete,觉得这一点都不简单。如果我不知道已经发生了什么,那么没有任何迹象表明任何时候创建组织都会创建 3 个关联对象(其中一些对象反过来会初始化子对象)。

这似乎是一种糟糕的编程习惯,因为它混淆了正在发生的事情。

我考虑将所有这些初始化移动到控制器,因为一个组织只创建一次:

这似乎是更简洁的代码,并且更容易遵循。

问题 1 *是否有更好的解决方案或最佳实践来处理在创建中心对象时创建我不知道的关联对象?*

旁注 - 我将不得不重写一堆假设关联是通过回调自动创建的测试 - 如果它更好,更容易理解代码,我可以接受。

问题 2 **after_save 回调的类似情况如何?**

我有一个客户模型,它在创建后检查它是否有关联的 user_account,如果没有,则创建它。一旦我们创建了 user_account,它还会为该 user_account 创建一个 Tag 模型

有点简化,但我相信这不是特别好的编程。一方面,我将逻辑放在第三个模型中创建两个不同的模型。似乎马虎又一次分离逻辑的原则。其次,方法名称并没有完全描述它在做什么。也许 find_or_create_user_account_and_tag 会是一个更好的名称,但它也违背了让方法只做一件事的原则——保持简单。

在阅读了观察者和服务之后,我的世界陷入了一个循环。

几个月前,我把所有东西都放在了控制器中。不可能很好地测试(这很好,因为我没有测试)。现在我的控制器很瘦,但我的模型很肥胖,而且我认为不健康(不清楚,不明显,几个月后另一个程序员/我自己更难阅读和破译)。

总的来说,我只是想知道是否有一些关于逻辑分离、避免回调汤以及不同类型代码的好指南、信息或最佳实践

0 投票
1 回答
840 浏览

ruby-on-rails - ActionMailer Observer 中的 Message.body 为空

我正在使用观察者记录传出的电子邮件;它可以正确触发,但是当我尝试提取电子邮件正文时,我得到一个空字符串。电子邮件绝对不是空白的,并且肯定会创建日志记录。断点和检查message.body确认它是一个空字符串。

0 投票
1 回答
3130 浏览

magento - 使用观察者创建自定义选项和奖品以将产品添加到购物车

我想使用观察者将自定义选项添加到quoteitem,观察者 checkoutCartProductAddAfter 事件并在产品添加到购物车后触发。

我的观察员正在工作,但我无法为添加的产品添加自定义选项。请提供帮助以使用观察者将自定义选项添加到刚刚添加的产品中,
还可以让我在观察者中更改产品的自定义价格。我想将自定义价格添加为零。提前致谢。

0 投票
2 回答
2816 浏览

ruby-on-rails - 如何在rails 3中实时推送内容

我想知道如何在我的网站中实时推送内容。我研究了一段时间,我意识到有很多方法可以完成这项工作。

首先要考虑一些事项:我有一个带有一些社交功能的 Rails 3 应用程序。我想要实现的功能之一是在创建新活动时通知我的用户。我的第一种方法是实现SSE和一个控制器,该控制器在上次加载活动后在数据库中搜索新注册表。

这可以工作,但是当我需要在创建新活动时将活动推送给所有活动用户(与该活动相关)时,这需要太多数据库查询,而无需进行数据库查询。

我的第二种方法是创建一个指向控制器的路由和一个观察者,以便在创建新活动时捕获,然后将创建的当前活动传递给控制器​​,最后通过 SSE 呈现活动部分。

我的问题来了..如何将观察者与控制器连接起来并将当前要渲染的活动传递给它?在那里,我可以使用另一种控制器类型,例如金属控制器甚至抽象控制器吗?

在这一点上,我意识到这可能是完成这项工作的另一种方法。如果我能找到一种方法来做到这一点而不必用另一种语言或框架开发它,那就太好了。我认为这应该有一个宝石这可以更轻松地完成实时应用程序.. 你觉得呢?我走在正确的道路上,或者我应该做些什么来实现这一目标?非常感谢!!

0 投票
2 回答
2048 浏览

ios - iOS - 如何从 KVO 的单例 NSObject 中删除观察者?

我有一个共享的 NSObject 单例类,其中运行了一些操作队列。我对此崩溃了:

看来我需要使用“removeObserver:”来防止这种情况发生,但是如何在共享对象上正确执行此操作?

代码:

崩溃日志:

0 投票
1 回答
1239 浏览

magento - Magento - 时事通讯订阅新字段不保存

我正在尝试向时事通讯订阅表单添加一个新字段 (subscriber_type)。我已经设置了我的观察者,它正在正常工作和触发(newsletter_subscriber_save_before):

我还将该字段添加到数据库中。上面的代码添加了新的订阅者,但没有添加订阅者类型。

谁能看到我哪里出错了?

谢谢

0 投票
1 回答
498 浏览

ios - ViewController 关闭时如何在 Monotouch iOS 应用程序中删除观察者

我的 MonoTouch 应用程序中有一些视图控制器正在使用 NSNotificationCenter 来侦听可能在我的应用程序中触发的某些事件。只要控制器仍在堆栈中,它们就应该在监听和更新(即使它们不是当前可见的视图。)

当视图不再在当前堆栈中时(通过使用后退按钮、自行关闭控制器或在调用 PopToRootController 之后),我该如何移除侦听器?

0 投票
2 回答
6882 浏览

java - 观察者、可观察和可运行。为什么同步块丢失监视器?

我正在尝试将类用作 Observer 和 Observable。此类将作为线程运行。在 run() 方法中,线程将等待并在获取事件后通知线程。有示例代码:

得到的输出是:

并且线程保持锁定。预期输出:

怎么了?为什么我在监视器释放之前进入同步块?PS 我有一个想法,问题是将观察者添加到 MyThread 对象,我可能会将观察者添加到 Thread 对象吗?但我怎么能做到这一点?

0 投票
1 回答
467 浏览

java - 整合 Scoreloop 高分

调用这两个方法没有错误:

当我单击一个按钮并移至“高分”活动时,将调用以下代码:

此代码使用以下 LogCat 输出使应用程序崩溃:

我在代码中的行号中进行了注释。我不确定IllegalArgumentExceptionLogCat 中有什么。我的问题是如何解决这个错误。