![Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility](https://cdn.sanity.io/images/cgdhsj6q/production/97774ea8c88cc8f4bed2766c31994ebc38116948-1664x1366.png?w=400&fit=max&auto=format)
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
try-catch-callback
Advanced tools
try/catch block with a callback, used in [try-catch-core][]. Use it when you don't care about asyncness so much and don't want guarantees. If you care use [try-catch-core][].
try/catch block with a callback, used in try-catch-core. Use it when you don't care about asyncness so much and don't want guarantees. If you care use try-catch-core.
npm i try-catch-callback --save
For more use-cases see the tests
const tryCatchCallback = require('try-catch-callback')
Pass a synchronous
fn
that returns some result and handle completion or errors incb
if given, otherwise it returns thunk which accepts thatcb
. It's possible to not work in "async mode", if that's the case try to use try-catch-core for your case, which guarantees thatcb
is called only once and always in next tick, using dezalgo and once.
Params
<fn>
{Function}: function to be called.[opts]
{Object}: optional options, such as context
and args
[opts.context]
{Object}: context to be passed to fn
[opts.args]
{Array}: custom argument(s) to be pass to fn
, given value is arrayified[opts.passCallback]
{Boolean}: pass true
if you want cb
to be passed to fn
args.[cb]
{Function}: callback with cb(err, res)
signature.returns
{Function} thunk
: if cb
not given.Example
var tryCatch = require('try-catch-callback')
tryCatch(function () {
return 'fox qux'
}, function done (err, res) {
if (err) return console.error(err)
console.log(res) // => 'fox qux'
})
passing custom context
const tryCatch = require('try-catch-callback')
tryCatch(function () {
console.log(this.foo) // => 'bar'
console.log(this.baz) // => 'qux'
return `${this.foo}/${this.baz}`
}, {
context: { foo: 'bar', baz: 'qux' }
}, function done (err, res) {
if (err) return console.error(err)
console.log(res) // => 'bar/qux'
})
passing custom arguments
const tryCatchCallback = require('try-catch-callback')
const done = (err, res) => console.log(res) // => 'zzz123'
const opts = {
args: [ { foo: 'zzz' }, 123 ]
}
tryCatchCallback((ctx, qux) => {
return ctx.foo + qux
}, opts, done)
returning a thunk
const tryCatch = require('try-catch-callback')
const thunk = tryCatch((a, b) => {
return a + b + 3
}, { args: [1, 2] })
thunk((err, res) => {
console.log(res) // => 6
})
domain
module is deprecated. This share almost… more | homepagePull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.
FAQs
try/catch block with a callback, used in [try-catch-core][]. Use it when you don't care about asyncness so much and don't want guarantees. If you care use [try-catch-core][].
We found that try-catch-callback demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.