{"record":{"id":"ad03c00e22eacee0","repo":"dianping/cat","slug":"provided-callback-for-onafterchange-was-not-a-func","errorCode":null,"errorMessage":"Provided callback for onafterchange was not a function","messagePattern":"Provided callback for onafterchange was not a function","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cat-home/src/main/webapp/js/intro.js","lineNumber":1239,"sourceCode":"        this._introBeforeChangeCallback = providedCallback;\n      } else {\n        throw new Error('Provided callback for onbeforechange was not a function');\n      }\n      return this;\n    },\n    onchange: function(providedCallback) {\n      if (typeof (providedCallback) === 'function') {\n        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;","sourceCodeStart":1221,"sourceCodeEnd":1257,"githubUrl":"https://github.com/dianping/cat/blob/e815e74d4c2dd74edac831241f1253fcc7d25381/cat-home/src/main/webapp/js/intro.js#L1221-L1257","documentation":"Error \"Provided callback for onafterchange was not a function\" thrown in dianping/cat.","triggerScenarios":"Triggered when onafterchange is assigned a non-function value instead of a callback function.","commonSituations":"See trigger scenarios.","solutions":["Pass a function to setOnAfterChange 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-15T22:17:37.221Z"}