for(var i = 2;i >= 1;i--) {
setTimeout(function (i) {
console.log(i);
},1000);
console.log("hii");
}Run Code Online (Sandbox Code Playgroud)
这段代码给出了输出为
HII
HII
未定义
未定义
在以下格式中使用setTimeout后,给出不同的输出
for(var i = 2;i >= 1;i--) {
setTimeout(print(i),5000);
console.log("hii");
}
function print(i) {
console.log(i);
}Run Code Online (Sandbox Code Playgroud)
这段代码给出了输出为
2
HII
1
HII
我不明白为什么在第二种情况下代码是同步执行的.
Response.json 应在 foreach 循环完成执行后执行
var todoarr = (req.body.data) ? req.body.data : undefined
todoarr.forEach(function(element) {
if(element.done == true) {
TodoService.removeTodo(element, function(success) {
});
}
});
res.json("success");Run Code Online (Sandbox Code Playgroud)