博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
app服务端常见问题6
阅读量:6687 次
发布时间:2019-06-25

本文共 9181 字,大约阅读时间需要 30 分钟。

hot3.png

1_打印错误信息

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 }); }});
 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代码量重复

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 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.
 (/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为缺少模块

转载于:https://my.oschina.net/snowbobo/blog/414896

你可能感兴趣的文章
《C++必知必会》读书笔记2
查看>>
web 学习资源整理
查看>>
make 参数定义
查看>>
java从字符串中提取数字
查看>>
Android深入浅出系列之服务机制—1.Android中的Service
查看>>
zz:彻底解决兼容性问题:Windows 7下载安装 Visual C++ 6.0(VC6)
查看>>
MVC、MVP以及Model2[上篇]
查看>>
面试总结,坚定自己的想法
查看>>
数据库隐式类型转换
查看>>
解决WCF调用多次之后没有响应的问题 转
查看>>
【BZOJ2318】【spoj4060】game with probability Problem 概率DP
查看>>
空格&nbsp在不同浏览器中显示距离不一致问题解决方法
查看>>
Nancy 学习-身份认证(Basic Authentication) 继续跨平台
查看>>
分享5个主流的HTML5开发工具
查看>>
基于Ionic2的开源项目
查看>>
QEMU-KVM中的多线程压缩迁移技术
查看>>
Android下创建一个SQLite数据库
查看>>
软件产品与代码版本管理指南
查看>>
分析Linux内核创建一个新进程的过程【转】
查看>>
sql如何分组选择显示最新的一条数据
查看>>