{"record":{"id":"f62708123ea2d467","repo":"dianping/cat","slug":"provided-callback-for-oncomplete-was-not-a-functio","errorCode":null,"errorMessage":"Provided callback for oncomplete was not a function.","messagePattern":"Provided callback for oncomplete was not a function\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cat-home/src/main/webapp/js/intro.js","lineNumber":1247,"sourceCode":"        this._introChangeCallback = providedCallback;\n      } else {\n        throw new Error('Provided callback for onchange was not a function.');\n      }\n      return this;\n    },\n    onafterchange: function(providedCallback) {\n      if (typeof (providedCallback) === 'function') {\n        this._introAfterChangeCallback = providedCallback;\n      } else {\n        throw new Error('Provided callback for onafterchange was not a function');\n      }\n      return this;\n    },\n    oncomplete: function(providedCallback) {\n      if (typeof (providedCallback) === 'function') {\n        this._introCompleteCallback = providedCallback;\n      } else {\n        throw new Error('Provided callback for oncomplete was not a function.');\n      }\n      return this;\n    },\n    onexit: function(providedCallback) {\n      if (typeof (providedCallback) === 'function') {\n        this._introExitCallback = providedCallback;\n      } else {\n        throw new Error('Provided callback for onexit was not a function.');\n      }\n      return this;\n    }\n  };\n\n  exports.introJs = introJs;\n  return introJs;\n}));\n","sourceCodeStart":1229,"sourceCodeEnd":1264,"githubUrl":"https://github.com/dianping/cat/blob/e815e74d4c2dd74edac831241f1253fcc7d25381/cat-home/src/main/webapp/js/intro.js#L1229-L1264","documentation":"Error \"Provided callback for oncomplete was not a function.\" thrown in dianping/cat.","triggerScenarios":"Triggered when oncomplete is assigned a non-function value instead of a callback function.","commonSituations":"See trigger scenarios.","solutions":["Pass a function to setOnComplete or omit the callback.","Check for a typo that passes a non-function value such as undefined."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e815e74d4c2dd74edac831241f1253fcc7d25381","analyzedAt":"2026-08-14T14:22:34.512Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}