egg-/delivery-tracker

cb is not a function

Closed this issue · 1 comments

Getting this every time I make a call for USPS:


          cb(tracker.error(e.message))
          ^

TypeError: cb is not a function

How do I solve it?

Here's my code:

const tracker = require('delivery-tracker')

const uspsCourier = tracker.courier( tracker.COURIER.USPS.CODE )

exports.upsTrackingNumber = async ( req, res ) =>
{
    let a = {}
    let { tracking_number } = req.body
    try {
        upsCourier.trace( { trace_number: tracking_number }, function (err, result) {
            if ( err ) { log( `err: `, err ) }
            console.log(result)
            res.json( result )
          } )
        
    } catch ( e ) {
        log( `upsTrackingNumber e: `, e )
        res.status( 400 ).json( { error: e } )
    }
}

Full error;

C:\Users\User\Desktop\project\backend\node_modules\delivery-tracker\lib\courier\usps.js:100
          cb(tracker.error(e.message))
          ^

TypeError: cb is not a function
    at Request._callback (C:\Users\User\Desktop\project\backend\node_modules\delivery-tracker\lib\courier\usps.js:100:11)
    at Request.self.callback (C:\Users\User\Desktop\project\backend\node_modules\request\request.js:185:22)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at Request.<anonymous> (C:\Users\User\Desktop\project\backend\node_modules\request\request.js:1154:10)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at IncomingMessage.<anonymous> (C:\Users\User\Desktop\project\backend\node_modules\request\request.js:1076:12)
    at Object.onceWrapper (node:events:509:28)
    at IncomingMessage.emit (node:events:402:35)
    at IncomingMessage.emit (node:domain:475:12)
    at endReadableNT (node:internal/streams/readable:1343:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
egg- commented

sorry for the late reply.
i think there is no issue in the module.
but you should be fixed the sample code.

please pass the tracking code as a string, not an object.
sorry for the confusion in the README.md.

please check.

const tracker = require('./')

const uspsCourier = tracker.courier(tracker.COURIER.USPS.CODE)

var upsTrackingNumber = async (req, res) => {
  let a = {}
  let { tracking_number } = req.body
  try {
    uspsCourier.trace(tracking_number, function (err, result) {
      if (err) {
        log(`err: `, err)
      }
      console.log(result)
      res.json(result)
    })
  } catch (e) {
    log(`upsTrackingNumber e: `, e)
    res.status(400).json({ error: e })
  }
}