2014-09-01 59 views
0

我在Alfresco中有一个web脚本,当我在我的HTTP请求中传递正确的参数时工作。我添加了类似于此代码段的验证(source)。Alfresco网页脚本:我如何尽早停止处理或返回?

如果我发现我的验证步骤失败,我该如何告诉Alfresco停止处理webscript?(如果可能的话,我想这样做没有一个else块。)

// extract folder listing arguments from URI 
var verbose = (args.verbose == "true" ? true : false); 
var folderpath = url.templateArgs.folderpath; 

// search for folder within Alfresco content repository 
var folder = roothome.childByNamePath(folderpath); 

// validate that folder has been found 
if (folder == undefined || !folder.isContainer) { 
    status.code = 404; 
    status.message = "Folder " + folderpath + " not found."; 
    status.redirect = true; 
    // ********* HOW DO I TELL ALFRESCO TO STOP PROCESSING HERE? ************ 
} 

// perform some business logic with the parameters that passed validation...... 
// ********* I DO NOT WANT TO COME HERE IF VALIDATION FAILS ************ 

// construct model for response template to render 
model.verbose = verbose; 
model.folder = folder; 

回答

3

这里的关键是要包装你的代码的函数(通常称为main按照约定)。如果你想停止处理,只需调用该函数并从该函数返回。像这样:

function main() { 
    // extract folder listing arguments from URI 
    var verbose = (args.verbose == "true" ? true : false); 
    var folderpath = url.templateArgs.folderpath; 

    // search for folder within Alfresco content repository 
    var folder = roothome.childByNamePath(folderpath); 
    // validate that folder has been found 
    if (folder == undefined || !folder.isContainer) { 
    status.code = 404; 
    status.message = "Folder " + folderpath + " not found."; 
    status.redirect = true; 
    return; 
    } 
    // Do stuff with the folder 

} 

main(); 
+0

不错,很简单。 – vegemite4me 2014-09-01 12:00:23