循环中异步函数的最后一个值

审查

我有这个功能:

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的最后一个值。我已经看到了很多例子,但是我无法使它工作。另一个与我的问题相同的答案:链接

贝吉

这是处理异步循环的一种非常标准的方法(另请参见循环内的JavaScript闭合-简单的实际示例):

var results = [];
for (var count=0; count<toTranslateArray.length; count++) (function(i) {
    getTranslation(toTranslateArray[count], function(res) {
        results[i] = res;
        if (! --count) { // when all results are settled (count is back to zero)
            var trans = results.join("");
            // code using trans
        }
    });           
})(count);

请注意,这仅在数组中至少有一项时才执行代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Mysql的storded程序插入queary一个循环中仅将最后一个值

删除for循环中的最后一个逗号(java)

会话Setattribute仅从循环中获取最后一个值

for循环中的lambda仅取最后一个值

对象值被循环中的最后一个值覆盖

如何避免python循环中的最后一个逗号

完成FOR之后,最后一个FOR循环中的值

仅显示while循环中来自JavaScript的最后一个值

如何检测循环中的最后一个ajax调用?

Spread运算符仅在for循环中添加最后一个值

循环asynctask android仅在循环中执行最后一个值

在for循环中构造时仅返回数组的最后一个值

从循环中的数组值中删除最后一个逗号

向量值被循环中的最后一个值覆盖

最后一个元素未在循环中删除

在一个循环中,所有数组元素都获得最后一个的值

我怎么知道最后一个异步函数何时在“ for key in ob”循环中返回结果?

从循环中取出一个值?

jQuery 工具提示在循环中设置动态内容返回最后一个值

https 请求在循环中,在发出最后一个请求后调用函数节点

从 FOR 循环中获取最后一个数字

如何在for循环中只显示最后一个值?C#

Flutter:循环中的 Onpressed() 函数删除最后一个项目,而不管单击任何项目

Pandas 数据框只保留 for 循环中的最后一个值

HttpSession 属性:getAttribute() 仅传递/获取循环中的最后一个值

在无限循环中运行的最后一个输出 - Python

在 forEach 循环中,仅显示最后一个值

在 Ada 的 while 循环中打印最后一个 rad

使用数组删除for循环中的最后一个逗号