节点 JS 取消处理程序错误事件
Node JS Unhandler Error Event
我是这里的新手,我正在尝试编写一个代码,其中使用了节点的事件发射器,请参阅下面的代码,
var EventEmitter = require('events').EventEmitter;
var errors = require('./errors');
var defaults ={
default_api_endpoint_v0 : "someapi",
oauth_c_key: "oauth_consumer_key",
options_check: ['oauth_consumer_key']
};
var someapi = function(options){
this.options = options;
EventEmitter.call(this);
if(!this.options)
this.emit('error',errors.options_not_passed);
return;
//return errors.options_not_passed
if(!this.checkOptions()){
return errors.options_passed_not_satisfied
}
};
someapi.prototype = Object.create(EventEmitter.prototype);
someapi.prototype.checkOptions = function(){
var thatOptions = this.options;
var bool = false;
if(typeof thatOptions !== 'object')
return errors.options_passed_not_satisfied;
Object.keys(thatOptions).forEach(function(key){
Object.keys(defaults.options_check).forEach(function(Key){
if(key === defaults.options_check[Key]){
bool = true;
}
})
});
return bool;
};
module.exports = someapi
我在下面这样调用它,
var op = new someapi();
op.on('error',function(err){
console.log("Emitted" + err);
})
但它抛出了这个错误,我不知道我做错了什么,
events.js:72
throw er; // Unhandled 'error' event
^
Error: Please pass the options
at Object.<anonymous> (d:'gitHub'someapi'lib'errors.js:2:26)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (d:'gitHub'someapi'lib'api.js:2:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
在上面的错误中,请传递我返回的选项,它位于错误文件中,见下文,
module.exports = {
options_not_passed : new Error("Please pass the options"),
options_passed_not_satisfied : "Please check are you sending all the options_params"
};
有人可以给我一些我在这里做错的事情吗???
对于上述内容,我知道我在创建对象时没有传递选项对象到 someapi 类。 我想知道为什么我的错误没有在"on"事件中得到处理。
附言提前感谢。
原因是因为您从构造函数发出错误。在创建实例时,无法附加侦听器(或对对象执行任何其他操作)(因为您还没有对从new someapi()
返回的新对象的引用)。
相关文章:
- 如何使用node.js将web和错误事件记录到Splunk
- 为什么我的Jquery.ajax调用会触发错误事件
- gulpfile 引发错误事件.js:154
- 错误事件显示图片 - JavaScript
- 本地错误事件之前的全局ajaxError事件
- 如何从视频标记错误事件中获取字符串/消息或代码
- WebSocket ws如何模拟错误事件
- 在主干视图中处理图像错误事件
- 如何检测 IE 10+ 的错误事件
- 节点 JS 取消处理程序错误事件
- 未定义 Firefox JS 引用错误事件
- jquery .one() 加载和错误事件不起作用
- 节点.js侦听进程错误事件
- 节点 http.客户端请求不会触发“错误”事件
- 我应该使用什么尝试并捕获块或错误事件
- 运行Yeoman时发生未处理的错误事件
- ipad独立网络应用程序上的视频标记错误事件不起作用
- Backbone.js-保存对象时未触发错误事件
- gullow uglify的未处理错误事件
- React-React.render()上未处理的错误事件