想了解在EventEmitter警告之后使节点显示堆栈跟踪的新动态吗?本文将为您提供详细的信息,此外,我们还将为您介绍关于angular–EventEmitter和EventEmitter之间有什么区
想了解在EventEmitter警告之后使节点显示堆栈跟踪的新动态吗?本文将为您提供详细的信息,此外,我们还将为您介绍关于angular – EventEmitter和EventEmitter之间有什么区别?、Angular2:在EventEmitter中传递单个参数、c# – 如何在nUnit 2.6.4 xml结果中显示堆栈跟踪?、C++ 在异常时显示堆栈跟踪的新知识。
本文目录一览:- 在EventEmitter警告之后使节点显示堆栈跟踪
- angular – EventEmitter和EventEmitter之间有什么区别?
- Angular2:在EventEmitter中传递单个参数
- c# – 如何在nUnit 2.6.4 xml结果中显示堆栈跟踪?
- C++ 在异常时显示堆栈跟踪
在EventEmitter警告之后使节点显示堆栈跟踪
我有这个错误:
(node:11164) Warning: Possible EventEmitter memory leak detected. 11 end listeners added. Use emitter.setMaxListeners() to increase limit
没有给出堆栈跟踪,所以我不知道哪个事件可能是罪魁祸首。
我试图通过覆盖来解决它,console.warn
但是此时的堆栈跟踪没有用,因为console.warn
添加侦听器时不会调用它,而是在随后的任意时间调用它。
答案1
小编典典这在Node v6(或可能在v5)中发生了变化。
以前,堆栈跟踪是自动显示的,现在您必须自己生成一个:
process.on(''warning'', e => console.warn(e.stack));
记录在这里。
angular – EventEmitter和EventEmitter之间有什么区别?
像这样:
@Component( ... ) class MyComponent { @Output() public cancel = new EventEmitter<undefined>(); private myFoo() { this.cancel.emit(); // no need to pass any value } }
所以,问题是:哪种方法更好地定义EventEmitter类型:
EventEmitter<未定义>或EventEmitter< void>.
> void更好,因为.emit()调用中没有参数.
> undefined更好.emit()是相同的.emit(undefined)
你有什么意见?
解决方法
@Component( ... ) class MyComponent { @Output() public cancel = new EventEmitter<void>(); private myFoo() { this.cancel.emit(); this.cancel.emit(undefined); this.cancel.emit(null); } }
而使用EventEmitter< undefined>,你只能传递未定义或没有参数,这在你的情况下可能更正确 – 说,我看不到任何重大问题只是因为你传递null给你的发射器不管怎样都不期待价值,所以我很想选择无效,因为它是较短的选择.
Angular2:在EventEmitter中传递单个参数
真正的问题是当我记录收到的事件时,我得到2,而不是一个事件/ arg.这是它记录的内容:Event {isTrusted:true}然后是Contact {name:inputName}
如何过滤事件,以便仅在收到Contact对象时才执行操作?
父’创建’组件:
import {Component,OnInit } from 'angular2/core'; import {Contact} from './contact'; import {ContactFormComponent} from './contact-form.component'; @Component({ selector: 'contact-create',template: ` <h2>Nuevo contacto</h2> <div> <div> <contact-form [contact]="contact" (formSubmitted)="saveContact($event)"></contact-form> </div> </div> `,directives: [ContactFormComponent] }) export class ContactCreateComponent { contact: Contact = new Contact(''); constructor( private router: Router,private contactService: ContactService) { } saveContact(args) { console.log(args); } }
儿童’形式’组件
import {Component,EventEmitter} from 'angular2/core'; import {NgForm} from 'angular2/common'; import {Contact} from './contact'; @Component({ selector: 'contact-form',inputs: ['contact'],outputs: ['formSubmitted'],templateUrl: 'app/contacts/contact-form.component.html',}) export class ContactFormComponent { contact: Contact; formSubmitted: EventEmitter<any> = new EventEmitter(); onSubmit(contact) { this.formSubmitted.next(contact); } }
解决方法
有一个问题(见#4059)跟踪此行为.这显然不应该发生.
对@Sasxa充分尊重的真正解决方案是将输出重命名为与DOM提交事件不匹配,直到实现上述问题为止.
c# – 如何在nUnit 2.6.4 xml结果中显示堆栈跟踪?
然而,这显示出比我预想的困难得多.
我看到这两个链接,where to find the xsd file that nunit uses和how to customize the xml,但是在2.6.4中,控制台上的/ transform选项似乎被弃用了,叹了口气.
我不知道如何更改我的nUnit安装目录中的files,这会影响输出吗?如果有人设法改变了nUnit的xml结果输出,他们可以指出我正确的方向吗?
解决方法
找到了This在nunit讨论板.它说如下:
您可能已经知道,NUnit没有任何内置的方式
自定义XML文件的内容.我们将为NUnit工作
3.0,但对于NUnit 2.x,则需要构建一个修改的副本
的NUnit.
The XML result file is created by the XmlResultWriter class,which is part of the nunit.util assembly. See 07001
C++ 在异常时显示堆栈跟踪
如果抛出异常,我想有一种方法向用户报告堆栈跟踪。做这个的最好方式是什么?是否需要大量的额外代码?
回答问题:
如果可能的话,我希望它是便携式的。我希望弹出信息,以便用户可以复制堆栈跟踪并在出现错误时通过电子邮件将其发送给我。
今天关于在EventEmitter警告之后使节点显示堆栈跟踪的讲解已经结束,谢谢您的阅读,如果想了解更多关于angular – EventEmitter和EventEmitter之间有什么区别?、Angular2:在EventEmitter中传递单个参数、c# – 如何在nUnit 2.6.4 xml结果中显示堆栈跟踪?、C++ 在异常时显示堆栈跟踪的相关知识,请在本站搜索。
本文标签: