# call-me-maybe **Repository Path**: mirrors_limulus/call-me-maybe ## Basic Information - **Project Name**: call-me-maybe - **Description**: Let your JS API users either give you a callback or receive a promise - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # call-me-maybe [![Continuous Release](https://github.com/limulus/call-me-maybe/actions/workflows/continuous-release.yaml/badge.svg)](https://github.com/limulus/call-me-maybe/actions/workflows/continuous-release.yaml) Let your JS API users either give you a callback or receive a promise. ## Usage ```javascript var maybe = require("call-me-maybe") module.exports = function asyncFunc (cb) { return maybe(cb, new Promise(function(resolve, reject) { // ... })) } ``` ## API ### maybe(cb, promise) If the callback `cb` is truthy, returns `undefined` and will call `cb` when `promise` is settled. The parameters passed to `cb` are standard error-first: - If `promise` is fulfilled, then it is called with the result of the promise: `cb(null, result)` - If `promise` is rejected, then it is called with the rejection error: `cb(err)` If `cb` is falsey, then `promise` is returned.