javascript中的奇怪关闭问题

时间:2016-01-16 02:20:49

标签: javascript node.js express

为什么我的数组有router.post('/add', function(req, res) { var imageArr = []; for(var i = 1; i <= 4; i++) { if (req.body["photo" + i]) { imageArr.push(req.body.photo + '' + i); } } console.log(imageArr) // working fine here, returning correct values like ['something','something'] if (req.body.is_update) { console.log(imageArr) // working fine here too, returning correct values } else { console.log(imageArr) // not working fine here, returning undefined1, undefined2.. } } 值?我把它推到同一范围内。

{{1}}

是因为异步,可能吗?

1 个答案:

答案 0 :(得分:1)

我以为我会把我的评论变成这个问题的正式答案,所以它不会挂起来。

您需要用imageArr.push(req.body.photo+''+i);替换脚本imageArr.push(req.body["photo"+i]);的这一部分。这两种情况的控制台输出示例都可以在fiddle.

中看到