Node.js 使用回调函数后停止函数

Node.js 使用回调函数后停止函数,node.js,Node.js,如何使回调函数像函数中的return一样工作 frontendProcessor.validateJSON = function(json, callback) { if(!json) { callback("Validate JSON: Error, empty JSON variable", null); } else { try { var newJson = JSON.parse(json); } catch(err) {

如何使回调函数像函数中的return一样工作

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函数继续它的处理。有没有正确的方法,或者只是一些棘手的方法?

移动另一个回调,如果解析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

});

如果移动另一个回调,那么如果解析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

});

如果移动另一个回调,那么如果解析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

});

如果移动另一个回调,那么如果解析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

});

您能指定要停止的功能吗?回叫一个?或者调用回调的父级?frontendProcessor.ValidateJSON在回调后只调用空返回语句。它将停止函数执行。请指定要停止的函数?回叫一个?或者调用回调的父级?frontendProcessor.ValidateJSON在回调后只调用空返回语句。它将停止函数执行。请指定要停止的函数?回叫一个?或者调用回调的父级?frontendProcessor.ValidateJSON在回调后只调用空返回语句。它将停止函数执行。请指定要停止的函数?回叫一个?或者调用回调的父级?frontendProcessor.ValidateJSON在回调后只调用空返回语句。它将停止函数执行我以前犯过这个错误-不可避免地,
callback
将在
try
中出错,导致第二次调用它。两次调用同一个回调往往会导致各种难以调试的错误。是的,很明显:)Thanx!我以前犯过这个错误,
callback
将不可避免地在
try
中出错,导致第二次调用它。两次调用同一个回调往往会导致各种难以调试的错误。是的,很明显:)Thanx!我以前犯过这个错误,
callback
将不可避免地在
try
中出错,导致第二次调用它。两次调用同一个回调往往会导致各种难以调试的错误。是的,很明显:)Thanx!我以前犯过这个错误,
callback
将不可避免地在
try
中出错,导致第二次调用它。两次调用同一个回调往往会导致各种难以调试的错误。是的,很明显:)Thanx!