Comments (2)
Hi @mgurov, that is effectively how promises work. When an exception is thrown in a promise body, the whole promise is rejected with the error as argument. Since the exception is handled by the Promise (in this case we are using the q module, your event for unhandled exception will not get fired.
This is how you should catch errors in your code (I am using your first snippet as base):
var raml = require('raml-parser');
var definition = [
'#%RAML 0.8',
'---',
'title: MyApi',
'baseUri: http://myapi.com',
'/Root:'
].join('\n');
raml.load(definition).then(function (data) {
throw "Did something wrong in handling";
})
.catch(function (error) {
console.log('Error parsing: ' + error);
});
I will be closing this issue.
from raml-js-parser.
Hi @dmartinezg,
Thank you for the quick reply. Yes, the catch
of the q promise worked OK for me, no issue.
I used to have some experience with promises before, via angular.js, but the catch
there is a shorthand to promise.then(null, errorCallback)
(see https://docs.angularjs.org/api/ng/service/$q#the-promise-api ). Hence the confusion. Maybe adding a pointer to q to the top level documentation would save time next time.
from raml-js-parser.
Related Issues (20)
- extending with yaml anchors HOT 2
- securedBY: [null] produces error HOT 3
- Please push updated package to npm HOT 1
- RAML v1.0 HOT 2
- Can't parse valid yaml definition because of apostrophe character HOT 3
- object2raml HOT 2
- Parsing schemas cause replacing reference of schema by schema object HOT 15
- oauth_2_0 is not inherited at endpoint level HOT 2
- Restricting the compilation of Includes in RAML HOT 3
- Parsing resourcetypes with optional methods do not inherit in the resources HOT 4
- CORS: implement setting to perform XHR requests with withCredentials=true HOT 1
- Error parsing: while validating trait properties resource type cannot define child resources HOT 1
- Circular $ref dependencies are not allowed with dereferencing
- Browser distribution is bit heavy for browsers HOT 1
- SyntaxError: Unexpected token < in JSON at position 0 HOT 5
- Schema references in resource methods aren't code generation friendly
- Cannot read included files with directory containing spaces on Windows HOT 1
- loadFileSync
- Parser does not include description of high-level uri parameter.
- `Types` is not an alias of `schemas` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from raml-js-parser.