如何使回调像在函数内部返回一样。
frontendProcessor.validateJSON = function(json, callback) {
if(!json) {
callback("Validate JSON: Error, empty JSON variable", null);
} else {
try {
var newJson = JSON.parse(json);
} catch(err) {
callback("Validate JSON: Error, Something is wrong with JSON.", null);
};
callback(null, newJson);
};
};
如果错误被捕获,我想回调函数并停止frontendProcessor.validateJSON函数继续它的处理。任何正确的方式,或只是棘手的方式?
答案 0 :(得分:3)
移动另一个回调,如果解析JSON对应用程序至关重要,你总是会抛出错误
frontendProcessor.validateJSON = function(json, callback) {
if(!json) {
callback("Validate JSON: Error, empty JSON variable", null);
} else {
try {
var newJson = JSON.parse(json);
callback(null, newJson);
} catch(err) {
callback("Validate JSON: Error, Something is wrong with JSON.", null);
};
};
};
frontendProcessor.validateJSON(json, function(err, result) {
if (err != null) {
var err = new Error(err);
throw err;
}
// use result
});