var datalist = [{number:10},{number:20},{number:30},{number:40},{number:50}];
var count = 0;
console.log('0000000000##datalist.length##'+datalist.length)
console.log('0000000000##count##'+count);
var test = function () {
console.log('0000000000##count
以下日志输出,可以看出压根没进入循环体中,没有打印循环体中的console.log
2019-06-12 14:21:35: 0000000000##datalist.length##5
2019-06-12 14:21:35: 0000000000##count##0
2019-06-12 14:21:35: 0000000000##count
console.log("go in ... ... ... ... ");
var datalist = [{number:10},{number:20},{number:30},{number:40},{number:50}];
var count = 0;
console.log('0000000000##datalist.length##'+datalist.length)
console.log('0000000000##count##'+count);
var test = function () {
console.log('0000000000##count
以下是输出和接口调试结果
go in ... ... ... ...
0000000000##datalist.length##5
0000000000##count##0
0000000000##count
{
"code": 1,
"msg": "操作成功",
"data":[
{
"number": 11
},
{
"number": 21
},
{
"number": 31
},
{
"number": 41
},
{
"number": 51
}
]
}
总结:一样的代码,但是在Seneca构建的微服务下,就不能正常运行。
解决方案:将async.whilst 写法改成 async.map的写法,但是具体原因还是未知!希望有知道的大佬能在看到这篇文章之后不吝告知~~
果然人还是不能轻易放弃标准,经过查询一番,终于还是找到了于async模块的文档,起先一直搜索async官方文档,但是一直没找到,后面是找到了GitHub的开源,找到的开发说明文档。链接:
https://caolan.github.io/async/v3/docs.html#whilst
对比async.whilst的写法,不难看出,循环判断条件的差异,网上都是直接return的而官方例子是callback的。
改成和官方文档一致的callback就OJBK了。
真的服,看来万事还是得以官方为准。
var count = 0;
var datalist = [{number:10},{number:20},{number:30},{number:40},{number:50}];
var count = 0;
console.log('0000000000##datalist.length##'+datalist.length)
console.log('0000000000##count##'+count);
var test = function (callback) {
console.log('0000000000##count
2019-06-12 15:30:59: {"kind":"plugin","case":"ready","name":"transport","level":"info","actid":"sfvgalgm6ihe/nq8lg0bkwyzx","plugin_name":"transport","pattern":"name:transport,plugin:define,role:seneca,seq:1,tag:undefined","seneca":"jz2iiugvzqef/1560324658113/4024/3.11.0/-","when":1560324659064}
2019-06-12 15:30:59: {"kind":"plugin","case":"ready","name":"center_proj","level":"info","actid":"stp0j9hw2r3e/vozd6knt4z2f","plugin_name":"center_proj","pattern":"name:center_proj,plugin:define,role:seneca,seq:2,tag:undefined","seneca":"jz2iiugvzqef/1560324658113/4024/3.11.0/-","when":1560324659092}
2019-06-12 15:30:59: {"kind":"notice","notice":"hello seneca jz2iiugvzqef/1560324658113/4024/3.11.0/-","level":"info","seneca":"jz2iiugvzqef/1560324658113/4024/3.11.0/-","when":1560324659124}
2019-06-12 15:31:01: 0000000000##datalist.length##5
2019-06-12 15:31:01: 0000000000##count##0
2019-06-12 15:31:01: 0000000000##count
完毕,CNM.浪费这么多时间~~