我有以下代码,使用'Q.js and
Promise`返回意外输出。根据功能它应该返回所有字符的总和。
预期输出应为16.(Apple,Banana和Grapes的所有字符:16)
var fruits = ['Apple', 'Banana', 'Grapes'];
var longProcess = function()
{
var sum = 0;
_.forEach(fruits, function(fruit){
setTimeout(function(){
sum = sum + fruit.length;
}, 3000);
});
return sum
}
$(document).ready(function(){
longProcess().then(function(data) {console.log(data);})
});
JSFiddle此处