【发布时间】:2013-08-14 14:53:57
【问题描述】:
我在函数中有这个:
for (i=0; i < toTranslateArray.length; i++)
{
(function(i)
{
getTranslation(toTranslateArray[i],function(callback_result)
{
trans += callback_result;
});
})(i);
}
// code using last value of trans
我需要使用 trans 的最后一个值。我看过很多例子,但我就是无法让它发挥作用。 另一个与我的问题相同的答案:link
【问题讨论】:
-
您连接结果的顺序是否相关?
-
当您使用
for-in时,除非您事先计算属性,否则无法可靠地知道您何时处于最后一个值。toTranslateArray是一个实际的数组吗?如果是这样,它会变得更简单,尽管您仍然不应该使用for-in,而是使用for语句。 -
你尝试过什么让它发挥作用?请向我们展示您的具体尝试,否则我们需要向您推荐具有相同问题的该问题。
-
@smotru:然后查看Why is using “for…in” with array iteration such a bad idea? 并注意
getTranslation是异步的。 -
@CrazyTrain 是的,它是一个数组。那时我会使用 for 。我将在几分钟内向您展示我的新代码。
标签: javascript asynchronous for-loop google-chrome-extension callback