mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
refactor(files) read
This commit is contained in:
parent
e3b0db07e9
commit
148efae86c
1 changed files with 34 additions and 44 deletions
|
|
@ -16,60 +16,50 @@
|
|||
CloudFunc = main.cloudfunc,
|
||||
Util = main.util;
|
||||
|
||||
object.read = function(pFiles, pOptions, pCallBack) {
|
||||
var lDone = [],
|
||||
lFiles,
|
||||
lErrors,
|
||||
object.read = function(files, options, callback) {
|
||||
var done = [],
|
||||
errors,
|
||||
i, n,
|
||||
lName,
|
||||
lReadedFiles = {},
|
||||
lDoneFunc = function (pParams) {
|
||||
var msg, status, p, lName,
|
||||
lRet = Util.checkObj(pParams, ['error', 'data', 'params']);
|
||||
name,
|
||||
readFiles = {},
|
||||
doneFunc = function (name, error, data) {
|
||||
var msg, status;
|
||||
|
||||
if (lRet) {
|
||||
lDone.pop();
|
||||
p = pParams,
|
||||
lName = p.params;
|
||||
done.pop();
|
||||
|
||||
if (error) {
|
||||
status = 'error';
|
||||
|
||||
if (p.error) {
|
||||
status = 'error';
|
||||
|
||||
if (!lErrors)
|
||||
lErrors = {};
|
||||
|
||||
lErrors[lName] = p.error;
|
||||
}
|
||||
else {
|
||||
status = 'ok';
|
||||
lReadedFiles[lName] = p.data;
|
||||
}
|
||||
if (!errors)
|
||||
errors = {};
|
||||
|
||||
lName = path.basename(lName);
|
||||
msg = CloudFunc.formatMsg('read', lName, status);
|
||||
|
||||
Util.log(msg);
|
||||
|
||||
if (!lDone.length)
|
||||
Util.exec(pCallBack, lErrors, lReadedFiles);
|
||||
errors[name] = p.error;
|
||||
}
|
||||
else {
|
||||
status = 'ok';
|
||||
readFiles[name] = data;
|
||||
}
|
||||
|
||||
name = path.basename(name);
|
||||
msg = CloudFunc.formatMsg('read', name, status);
|
||||
|
||||
Util.log(msg);
|
||||
|
||||
if (!done.length)
|
||||
Util.exec(callback, errors, readFiles);
|
||||
};
|
||||
|
||||
if (Util.isFunction(pOptions)) {
|
||||
pCallBack = pOptions;
|
||||
pOptions = null;
|
||||
if (Util.isFunction(options)) {
|
||||
callback = options;
|
||||
options = null;
|
||||
}
|
||||
|
||||
if (Util.isArray(pFiles))
|
||||
lFiles = pFiles;
|
||||
else
|
||||
lFiles = [pFiles];
|
||||
|
||||
for (i = 0, n = lFiles.length; i < n; i++) {
|
||||
lName = lFiles.pop();
|
||||
lDone.push(lName);
|
||||
n = files && files.length;
|
||||
for (i = 0; i < n; i++) {
|
||||
name = files.pop();
|
||||
done.push(name);
|
||||
|
||||
fs.readFile(lName, pOptions, Util.call(lDoneFunc, lName));
|
||||
fs.readFile(name, options, doneFunc.bind(null, name));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue