我正在Magento网站上工作,我收到此错误:
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away on running
cron job magento
Run Code Online (Sandbox Code Playgroud)
我有时只会遇到这个错误.
<?php
class Namespace_Module_Model_Observer
{
public function importemails(Varien_Event_Observer $observer)
{
echo "Hi Dear";exit();
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'myid@gmail.com';
$password = 'mypass';
/* try to connect */
$inbox = imap_open($hostname,$username,$password)
or die('Cannot connect to Gmail: ' . imap_last_error());
/* grab emails */
$emails = imap_search($inbox,'ALL');
/* if emails are returned, cycle through each... */
if($emails) {
/* begin output var …
Run Code Online (Sandbox Code Playgroud) 我有一些使用块/尾随闭包语法创建的通知,如下所示:
NotificationCenter.default.addObserver(forName: .NSManagedObjectContextObjectsDidChange, object: moc, queue: nil) { note in
// implementation
}
Run Code Online (Sandbox Code Playgroud)
我后来通过名字删除,像这样:
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.NSManagedObjectContextObjectsDidChange, object: moc)
Run Code Online (Sandbox Code Playgroud)
这够了吗?或者我是否绝对需要保存NSObjectProtocol
到它自己的属性并使用以下语法删除该属性?
NotificationCenter.default.removeObserver(didChangeNotification)
Run Code Online (Sandbox Code Playgroud) 我有一个singelton类,它将在app delegate中创建.
当我运行XCTTests然后它再次创建它.
+ (instancetype)urlSchemeManager
{
static dispatch_once_t onceToken;
static UrlSchemeManager* _sharedInstance;
dispatch_once(&onceToken, ^{
_sharedInstance = [UrlSchemeManager new];
});
return _sharedInstance;
}
Run Code Online (Sandbox Code Playgroud)
这导致两个不同的实例.如果我只是用它进行单元测试,这没问题.但是在集成测试中,当我为urlSchmemeManager注册一个观察者时,我得到了一个EXC_BAD_ACCESS,因为它已经被rootViewController(在UI中)观察到了.
在RootViewController中:
UrlSchemeManager * schemeManager = [GlobalSpace globalSpace].urlSchemeManager;
[schemeManager addObserver:self forKeyPath:OBSERVER_KEY_URL_SCHEME_MANAGER_CONTENT_MORE options:NSKeyValueObservingOptionNew context:nil];
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我在Angular 2中使用HTTP提供程序从API加载数据.
return this.http.post(url, urlSearchParams.toString(), {
headers: this.getHttpHeaders()
})
.retryWhen((error) => {
return this.handleRetryError(error);
})
Run Code Online (Sandbox Code Playgroud)
当没有或旧的会话时,我在this.handleRetryError(错误)中创建新的会话并用它填充标题.(方法getHttpHeaders()返回带头的数组)
重试当尝试再次发布此帖子时,但第一轮中没有未更改的(旧)标题.
有没有机会从.readyWhen更改http.post的头参数?
非常感谢你的帮助:)
目前我在创建和更新模型后使用观察者来处理一些东西.
我想通过使用laravel-echo实时更新我的应用程序,但我无法找到关于laravel-echo与观察者(而不是事件)结合使用的文档.
您可以将事件及其广播功能与其各自的侦听器结合使用以获得此功能,但我更喜欢更清晰的观察员代码(更少"魔术").
看一下laravel框架的代码,我可以看到observable仍然使用雄辩的事件,所以我怀疑有一种方法来广播这些.
所以我的问题是:有没有办法使用laravel-echo广播有说服力的事件而不创建单独的事件或在每个事件上手动添加广播语句?
以下代码利用DOM Mutation Event DOMNodeInserted
来检测body
元素的存在并将其innerHTML
包装到包装器中.
<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function DOMmanipulation() {
if (document.body) {
document.removeEventListener('DOMNodeInserted', DOMmanipulation);
// DOM manipulation start
document.body.innerHTML = '<div class="wrapper">' + document.body.innerHTML + '</div>';
// DOM manipulation end
}
}
document.addEventListener('DOMNodeInserted', DOMmanipulation);
</script>
</head>
<body>
<p>Lorem ipsum dolor sit amet.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
尽管包装成功,但是有一个错误表明找不到节点.这个问题的答案解释说,这是因为当jQuery被加载时,它div
在主体中添加了一个元素来进行一些测试,但它无法删除该div
元素,因为该元素已被包装到包装器中,因此它不是一个孩子身体的元素了.
上面的实验告诉我们DOMNodeInserted
事件比jQuery的测试更快,因为jQuery的test element(div
)在被jQuery删除之前就被包装了.
现在,下面的代码可以实现相同的操作,并且它使用新引入的DOM Mutation Observers.截至此时(2012-07-11),它仅适用于Chrome 18及更高版本.
<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script> …
Run Code Online (Sandbox Code Playgroud) 我正在使用Swift 3.1和Xcode 8.3.3编写程序.我想创建一个类,负责在键盘出现和消失时移动整个视图.但是我遇到了使用string中的参数创建自定义Selector的困难.要显示或隐藏键盘我们需要功能:
func keyboardWillShow(notification: Notification) {
//Code moving view when keyboard appears
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个这样的选择器:
let selector = Selector(("keyboardWillShow")
NotificationCenter.default.addObserver(view, selector: selector, name: .UIKeyboardWillShow, object: anyView.view.window)
Run Code Online (Sandbox Code Playgroud)
它正在编译,但是当键盘出现时,它会崩溃.因为它是独立的类我不能使用这种结构:
#selector(keyboardWillShow)
Run Code Online (Sandbox Code Playgroud)
因为它将Swift函数转换为Objective-C函数(添加@objc).所以问题是:如何用参数字符串创建一个Selector表单?
PS我可以把整个代码放在那里,但我不想要问题非常大,所以我会编辑问题,如果有人问...
我在 Kotlin 的嵌套片段中遇到了一些问题。我用 ViewModel 嵌套了片段。从后退按钮恢复片段后,虽然我的数据没有改变,但再次按下 viewModel LiveData 上的所有观察者触发。
首先我用谷歌搜索并尝试在字段变量中定义观察者并检查它是否已初始化然后不要再次观察它:lateinit var观察者:观察者
fun method(){
if (::observer.isInitialized) return
observer = Observer{ ... }
viewModel.x_live_data.observe(viewLifecycleOwner ,observer)
}
Run Code Online (Sandbox Code Playgroud)
因此,首先进入片段它工作正常,并且在恢复后它不会在没有数据更改的情况下再次触发,但它也不会在数据更改时触发!到底是怎么回事?
我尝试在我的Application子类中实现静态Observable,但它不起作用.没有异常或错误消息,但我的update()回调没有被调用.
MyApplication.java
public class MyApplication extends Application{
public static Observable appObserver = new Observable();
public void onCreate(){
super.onCreate();
}
}
Run Code Online (Sandbox Code Playgroud)
Foo.java
MyApplication.appObserver.notifyObservers( "Hello world" );
Run Code Online (Sandbox Code Playgroud)
BarFragment.java
public class BarFragment extends Fragment implements Observer{
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
MyApplication.appObserver.addObserver(this);
}
@Override
public void onDestroy() {
MyApplication.appObserver.deleteObserver(this);
super.onDestroy();
}
@Override
public void update(Observable observable, Object data) {
Log.i("BarFragment", data.toString()); // Should log, but doesn't
}
}
Run Code Online (Sandbox Code Playgroud)
更重要的是,我试着涂鸦了一个简单的可观察我自己的,然后一切工作就像一个魅力与刚刚替换public static Observable appObserver = new Observable();
用public static MyObservable appObserver …
我是快速语言的新手,我的问题是如何在swift中使用observable/observer模式.
我想让我的数组在我的SocketManager类中可观察,因此我的UIViewController类可以观察到它.我使用了Andrew J Wagner编写的Observable类,我是从这个链接获得的:
http://www.drewag.me/posts/swift-kvo-substitute-observable-variables
我有阵列:
var marketIndexList:Array <MarketIndex> = []
这将从服务器获取其数据.每次从服务器收到新数据时,都会更新此列表.从服务器获取我的Array的值后,我想使其成为Observable类,它由上面的链接实现:
marketIndexList = Observable(marketIndexList)
但我得到了这个错误:
'MarketIndex'与'AnyObject'不同
MarketIndex是一个类型为NSObject的类,它具有String类型的一些属性.
这是我用过的Observable类:
import Foundation
class Observable {
typealias DidChangeHandler = (oldValue: Array<MarketIndex>?, newValue: Array<MarketIndex>) -> ()
var value : Array<MarketIndex> = [] {
didSet {
for (owner, handlers) in self.observers {
for handler in handlers {
handler(oldValue: oldValue, newValue: value)
}
}
}
}
init(_ value: Array<MarketIndex>) {
self.value = value
}
func addObserverForOwner(owner: IndexViewController, triggerImmediately: Bool, handler: DidChangeHandler) {
if let index …
Run Code Online (Sandbox Code Playgroud) observers ×10
swift ×3
android ×2
ios ×2
observable ×2
angular ×1
arrays ×1
cron ×1
events ×1
java ×1
javascript ×1
laravel ×1
laravel-echo ×1
magento ×1
mvvm ×1
mysql ×1
nsobject ×1
performance ×1
rxjs ×1
selector ×1
testing ×1
typescript ×1
xctest ×1