JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 执行从.each()同步返回的脚本,但没有按顺序完成大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
情况是我从API动态加载一组脚本,然后通过eval()调用.我不关心调用脚本的顺序,但我不希望同时调用它们中的任何一个.也就是说,脚本A,B和C可以按顺序返回C,B,A,并且我想在返回C时立即开始eval(C),但我希望eval(B)等到eval(C)完成了.

没有进入完全毛茸茸的代码,这里是“实例”是字符串数组的核心.

$.each(instances,function( index,instance ) {
    var apiUrl = "http://the-api-url.com/" + instance;
    $.getJSON(apiUrl,function(data) {
        // except I don't want to eval here as evaluations may overlap
        eval(data.script);
    });
});

根据我的理解,我可以使用.when()等待所有内容完成,但这会浪费时间,因为我不需要等到所有内容都下载才能开始执行.

解决方法

你的问题有点不清楚,但假设脚本可以按任何顺序执行(A,C,C等),那么你不需要改变任何东西.

Javascript(在浏览器中)是单线程的,因此传递给$.getJSON的回调将按顺序进行调度.

大佬总结

以上是大佬教程为你收集整理的javascript – 执行从.each()同步返回的脚本,但没有按顺序完成全部内容,希望文章能够帮你解决javascript – 执行从.each()同步返回的脚本,但没有按顺序完成所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。