diff --git a/cloudcmd.js b/cloudcmd.js index 51d27b45..c8126e91 100644 --- a/cloudcmd.js +++ b/cloudcmd.js @@ -156,12 +156,11 @@ if (Config.ssl) filesList.push(KEY, CERT); - files.read(filesList, 'utf8', function(errors, files) { + files.read(filesList, 'utf8', function(error, files) { var status, msg, names; - if (errors) { - status = 'error'; - Util.log(errors); + if (error) { + Util.log(error); } else { status = 'ok'; diff --git a/lib/server/files.js b/lib/server/files.js index 5fbe738b..e6f76fa6 100644 --- a/lib/server/files.js +++ b/lib/server/files.js @@ -6,26 +6,26 @@ Util = require('../util'); object.read = function(files, options, callback) { - var errors, - done = [], + var done = [], + isDone = false, noOptions = Util.isFunction(options), readFiles = {}, doneFunc = function (name, error, data) { done.pop(); - if (!error) + if (error) + done = []; + else readFiles[name] = data; - else { - if (!errors) - errors = {}; - - errors[name] = error; - } - if (!done.length) - Util.exec(callback, errors, readFiles); + if (!done.length && !isDone) { + isDone = true; + callback(error, readFiles); + } }; + Util.checkArgs(arguments, ['files', 'options', 'callback']); + if (noOptions) { callback = options; options = null; diff --git a/test/lib/cloudfunc.js b/test/lib/cloudfunc.js index 338d1ab9..5336fec4 100644 --- a/test/lib/cloudfunc.js +++ b/test/lib/cloudfunc.js @@ -61,13 +61,13 @@ }) .concat(EXPECT_PATH); - files.read(filesList, 'utf8', function(errors, files) { + files.read(filesList, 'utf8', function(error, files) { var isNotOk, expect, result, i = 0, template = {}; - if (errors) { - throw(console.log(errors)); + if (error) { + throw(new Error(error)); } else { Util.time('CloudFunc.buildFromJSON');