1_打印错误信息1.当await中的定义的success和failure的方法1_task中调用自定义错误信息和自定义错误信息方法
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({
"标题":内容
})
那么在task中
成功:ex.success(ex)
失败:ex.error(ex)
即可
优点:节省代码量
缺点:不能根据情况自定义错误信息
2.当await中的定义的success和failure的方法
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 });}
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: truevar ar = new Array();var result = Array.isArray(ar);// Output: truevar ar = [1, 2, 3];var result = Array.isArray(ar);// Output: truevar 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.(/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 graphicsmagick3../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.(/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-typesUsage: npm where 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, whoaminpm -h quick help on npm -l display full usage infonpm faq commonly asked questionsnpm help search for help on npm help npm involved overviewSpecify configs in the ini-formatted file: /home/zmzp/.npmrcor on the command line via: npm --key valueConfig info can be viewed via: npm help confignpm@1.4.28 /home/zmzp/.nvm/v0.10.32/lib/node_modules/npmzmzp@zmzp1:~/data/s910$ npm install mime --savenpm WARN package.json 910@1.0.0 No repository field.npm WARN package.json 910@1.0.0 No README datamime@1.3.4 node_modules/mimezmzp@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. (/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 --savenpm WARN package.json 910@1.0.0 No repository field.npm WARN package.json 910@1.0.0 No README datamime-types@2.0.9 node_modules/mime-types└── mime-db@1.7.0zmzp@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. (/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 dataqiniu@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=========
只要npm install xxxx
xxx为缺少模块