Comments (6)
At the same time, you should really consider changing the api so that it follows the standard way of asynchronous calls in javascript.
The normal way of a module like metaphor
would be:
var metaphor = require('metaphor')
var engine = new metaphor.Engine()
engine.describe(myUrl, function (err, res) {
if (err) ...handle the error somehow
console.log(res)
})
from metaphor.
@freeall nope. It doesn't return an error. If it fails to get a description you just get an empty one. I don't care about errors and I don't want to handle them (or explicitly ignore them).
from metaphor.
@hueniverse but the problem is then that my application will then crash. Instead you should send errors to a callback.
The normal way would be something similar to:
module.exports = function (url, options, callback) {
// when errors happen do callback(err)
// when no errors happen do callback(null, someObject)
})
from metaphor.
@freeall No need to explain to me what the callback usually looks like. I've been writing node modules for a while now. You are missing the point. You application will never crash because all errors are already handled internally. This was a bug, not an incorrect API format.
from metaphor.
@hueniverse ok :) But errors from request will make the program crash. And it did. We ended up forking your module (which is super useful, by the way) just so we could handle errors.
from metaphor.
If you are getting errors, those are bugs and you should open issues. Can you provide examples for requests that caused it to crash?
from metaphor.
Related Issues (20)
- htmlparser throws on link tags without rel HOT 1
- Add <!DOCTYPE html> to preview markup
- Add target attribute to preview links
- Support preview link redirection
- Crash: Cannot read property 'tag' of undefined HOT 2
- Add classes metaphor-embed-body to flag for content differences (image/no image, description/no description)
- Support script in preview
- Fix script tag
- Handle protected/private tweets
- providers.json not in latest npm package v3.5.2 HOT 1
- No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. HOT 1
- Add summary property with machine-readable preview info
- Parse tweets without need for script
- Replace <br> with new line in tweet content
- Update deps
- The header content contains invalid characters HOT 3
- engine.describe throws when site has malformed URL in its meta tags HOT 1
- safari 9 SyntaxError unexpected keyword 'const'. const declarations are not supported in strict mode HOT 1
- Fallback description URL does not follow redirects HOT 1
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 metaphor.