</pre>1_打印错误信息</h1><blockquote style="margin:0 0 0 40px; border:none; padding:0px"><h2>1_task中调用自定义错误信息和自定义错误信息方法</h2><div><pre name="code" class="javascript">app.awf.task({
code: "one",
method: function(ex) {
var sql = " ";
_.sql.query(sql, {
code: e.params.code
}).success(function(result) {
ex.success(ex)
}).failure({
ex.error(ex)
});
}
}).await({
success: function(ex) {
e.result({
"success": true
});
},
failure: function(ex) {
e.result({
"failure":false
});
}
});
1.当await中的定义的success和failure的方法
e.result({
"标题":内容
})
那么在task中
成功:ex.success(ex)
失败:ex.error(ex)
即可
优点:节省代码量
缺点:不能根据情况自定义错误信息
2.当await中的定义的success和failure的方法
e.result(ex)
那么在task中
成功:ex.success({
"标题":内容
})
失败:ex.error({
"标题":内容
})
即可
优点: 自定义错误信息 可以调用自定义错误信息的方法,并打印
缺点: 定义"success":true代码量重复
</pre>1_打印错误信息</h1><blockquote style="margin:0 0 0 40px; border:none; padding:0px"><h2>1_task中调用自定义错误信息和自定义错误信息方法</h2><div><pre name="code" class="javascript">app.awf.task({
code: "one",
method: function(ex) {
var sql = " ";
_.sql.query(sql, {
code: e.params.code
}).success(function(result) {
ex.success(ex)
}).failure({
ex.error(ex)
});
}
}).await({
success: function(ex) {
e.result({
"success": true
});
},
failure: function(ex) {
e.result({
"failure":false
});
}
});
e.result(ex)
那么在task中
成功:ex.success({
"标题":内容
})
失败:ex.error({
"标题":内容
})
即可
优点: 自定义错误信息 可以调用自定义错误信息的方法,并打印
缺点: 定义"success":true代码量重复
2_if判断语句的缺陷
1_if语句传来的参数不在判断范围内,导致停留在if语句中
写了三个if语句.无else 当条件都不满足如何处理?以下的语句,当传来的参数是-2或者别的值,它会停留在这里.不执行下一步.
if (result[0].validate == 2) {
ex.error({
status: task.errors.cancellicense_12
});
}
if (result[0].validate === 0) {
ex.error({
status: task.errors.cancellicense_0
});
}
if (result[0].validate == 1) {
ex.success();
}
为了要抛出异常.或者保证执行下去,这样,如果不满足这三条件.其它的都抛出异常报错!
if (result[0].validate == 2) {
ex.error({
status: task.errors.cancellicense_12
});
} else if (result[0].validate === 0) {
ex.error({
status: task.errors.cancellicense_0
});
} else if (result[0].validate == 1) {
ex.success();
} else {
ex.error({
data: false
});
}
1_if语句传来的参数不在判断范围内,导致停留在if语句中
写了三个if语句.无else 当条件都不满足如何处理?以下的语句,当传来的参数是-2或者别的值,它会停留在这里.不执行下一步.
if (result[0].validate == 2) {
ex.error({
status: task.errors.cancellicense_12
});
}
if (result[0].validate === 0) {
ex.error({
status: task.errors.cancellicense_0
});
}
if (result[0].validate == 1) {
ex.success();
}
为了要抛出异常.或者保证执行下去,这样,如果不满足这三条件.其它的都抛出异常报错!
if (result[0].validate == 2) {
ex.error({
status: task.errors.cancellicense_12
});
} else if (result[0].validate === 0) {
ex.error({
status: task.errors.cancellicense_0
});
} else if (result[0].validate == 1) {
ex.success();
} else {
ex.error({
data: false
});
}
3_在app.awf.task中调用上一个method的data
1.在这个方法中赋值给data
....task({
code:"a",
method:function(ex){
if(e.action.user.utype==1){
ex.success({
data:"ok"
});
}else{
ex.success({
data:"yes"
});
}
}
})....
2.然后在下一个task中调用code:"a"中的data
code: "b",
method: function(ex) {
if (ex.get('a').data == "ok") { //老师用户直接跳过本步
ex.success({
data: "insertteacher"
});
} else if (ex.get('a').data =="yes") { //学生电话没有填,跳过本步
ex.success({
data: "insertstudent"
});
}
}
4_将传来的参数转化为数组
1.查看源代码,重点看schedule:JSON.stringify(e.params.json)
UpdateScheduleClassJsonApp: {
attribute: {},
method: function(e) {
var _ = this.apis;
app.awf.task({
code: "One",
method: function(ex) {
var sql = "update schedule_class set schedule=:schedule where ccode=:ccode and defname=:defname";
_.sqlls.query(sql, {
ccode: e.params.ccode,
defname: e.params.defname,
schedule: JSON.stringify(e.params.json)
}).success(function(rows) {
ex.success({
data: true
});
}).failure(function(err) {
ex.error(err);
});
}
}).await({
success: function(ex) {
e.result({
"successTag": true
});
},
failure: function(ex) {
e.result({
"successTag": false,
"msg": ex.toString().replace("Error:", "")
});
}
});
}
},
2.在node模式下测试
> a={a:1,b:2}
{ a: 1, b: 2 }
> JSON.stringify(a)
'{"a":1,"b":2}'
>
可以看到它把a转化为数组形式了
5_判断一个对象是否为数组
1_定义
Determines whether an object is an array.
确定对象是否为一个数组
2_格式
Array.isArray(object)
3_返回值
true if object is an array; otherwise, false. If the object argument is not an object, false is returned.
true:如果对象是一个数组;否则不是数组,false.如果对象参数不是一个对象,返回flase
4_例子
var ar = [];
var result = Array.isArray(ar);
// Output: true
var ar = new Array();
var result = Array.isArray(ar);
// Output: true
var ar = [1, 2, 3];
var result = Array.isArray(ar);
// Output: true
var result = Array.isArray("an array");
document.write(result);
// Output: false
5_服务器无法启动
1_uncaught_exception:Error: Cannot find module 'gm'
报错信息
zmzp@zmzp1:~/data/s910$ node single.js
Default Log Start...
===ERROR:2015-1-13T10:45:40星期二
uncaught_exception:Error: Cannot find module 'gm'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.app.package (/home/zmzp/data/s910/Server/core/core.js:93:9)
at Object.<anonymous> (/home/zmzp/data/s910/store/fastdfs.js:14:21)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
=========
解决方案
1vim init.sh
找
#!/bin/sh
#sudo apt-get install graphicsmagick
#sudo apt-get install libpq-dev
#sudo apt-get install
然后复制粘贴
2sudo apt-get install graphicsmagick
3../init.sh
6_node single报错
zmzp@zmzp1:~/data/s910$ node single.js
Default Log Start...
===ERROR:2015-3-10T17:18:47星期二
uncaught_exception:Error: Cannot find module 'mime-types'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/zmzp/data/s910/store/qiniu.js:14:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
=========
===OUTPUT:2015-3-10T17:18:47星期二
worker will exit...
=========
===OUTPUT:2015-3-10T17:18:49星期二
worker exit...
=========
===OUTPUT:2015-3-10T17:18:49星期二
request total : 0
=========
zmzp@zmzp1:~/data/s910$ npm mime-types
Usage: npm <command>
where <command> is one of:
add-user, adduser, apihelp, author, bin, bugs, c, cache,
completion, config, ddp, dedupe, deprecate, docs, edit,
explore, faq, find, find-dupes, get, help, help-search,
home, i, info, init, install, isntall, issues, la, link,
list, ll, ln, login, ls, outdated, owner, pack, prefix,
prune, publish, r, rb, rebuild, remove, repo, restart, rm,
root, run-script, s, se, search, set, show, shrinkwrap,
star, stars, start, stop, submodule, t, tag, test, tst, un,
uninstall, unlink, unpublish, unstar, up, update, v,
version, view, whoami
npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm faq commonly asked questions
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
/home/zmzp/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
npm@1.4.28 /home/zmzp/.nvm/v0.10.32/lib/node_modules/npm
zmzp@zmzp1:~/data/s910$ npm install mime --save
npm WARN package.json 910@1.0.0 No repository field.
npm WARN package.json 910@1.0.0 No README data
mime@1.3.4 node_modules/mime
zmzp@zmzp1:~/data/s910$ node single.js
Default Log Start...
===ERROR:2015-3-10T17:36:10星期二
uncaught_exception:Error: Cannot find module 'mime-types'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/zmzp/data/s910/store/qiniu.js:14:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
=========
===OUTPUT:2015-3-10T17:36:10星期二
worker will exit...
=========
===OUTPUT:2015-3-10T17:36:11星期二
worker exit...
=========
===OUTPUT:2015-3-10T17:36:11星期二
request total : 0
=========
zmzp@zmzp1:~/data/s910$ npm install mime-types --save
npm WARN package.json 910@1.0.0 No repository field.
npm WARN package.json 910@1.0.0 No README data
mime-types@2.0.9 node_modules/mime-types
└── mime-db@1.7.0
zmzp@zmzp1:~/data/s910$ node single.js
Default Log Start...
===ERROR:2015-3-10T17:36:33星期二
uncaught_exception:Error: Cannot find module 'qiniu'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at new exports.store (/home/zmzp/data/s910/store/qiniu.js:24:14)
at Object.<anonymous> (/home/zmzp/data/s910/Server/core/core.js:674:23)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
=========
===OUTPUT:2015-3-10T17:36:33星期二
worker will exit...
=========
===OUTPUT:2015-3-10T17:36:35星期二
worker exit...
=========
===OUTPUT:2015-3-10T17:36:35星期二
request total : 0
=========
zmzp@zmzp1:~/data/s910$ npm install qiniu
npm WARN package.json 910@1.0.0 No repository field.
npm WARN package.json 910@1.0.0 No README data
qiniu@6.1.6 node_modules/qiniu
├── crc32@0.2.2
├── mime@1.2.9
├── urllib@0.5.1 (buffer-concat@0.0.1, debug@0.7.2)
└── formstream@0.0.7 (buffer-concat@0.0.1, pause-stream@0.0.11)
zmzp@zmzp1:~/data/s910$ node single.js
Default Log Start...
===OUTPUT:2015-3-10T17:37:9星期二
http worker listen ok. port:9080
=========
===OUTPUT:2015-3-10T17:37:9星期二
http worker listen ok. port:9090
=========
xxx为缺少模块