使用回调后停止功能

时间:2014-04-02 19:51:02

标签: node.js

如何使回调像在函数内部返回一样。

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函数继续它的处理。任何正确的方式,或只是棘手的方式?

1 个答案:

答案 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

});