Tag: 异步

在jQuery中的asyn foreach

我想要的是在异步模式下运行代码以获得更快的响应(multithreading)。 我有一个像源“源”的数组,我想要的是从每个数据中获取数据。 我想过这样的事情: $.each(sources, function(key, val) { JSON CALL OF EACH SOURCE } 然后将所有结果分组并显示它们。 问题是我希望json调用处于异步模式,因为它们中的一些需要一些时间。 我怎么能用jQuery在异步模式下做’each’?

jsTree:异步加载

我试图在我的一个项目中使用这个jQuery插件(jsTree)。 我发现的所有其他人最近都没有更新过。 无论如何,我使用这个插件来加载文件夹结构,但我想做这个操作异步。 我在他们的网站上发现的例子(称为异步)是荒谬的。 我试图检查互联网,但似乎大多数人加载整个树。 我想在每个单点节点上加载一个分支点击。 我正在使用JSON。 预先感谢

jQuery同步非阻塞ajax调用

在我的Web应用程序中,我有一系列快速触发的ajax调用。 在服务器上,这些需要按照从客户端发送的顺序进行处理。 我一直在jQuery中使用async: false配置来执行此操作。 然而,这会导致GUI变得非常迟缓,同时阻止完成调用。 使用async: true GUI是响应式的,但请求并不总是按顺序处理。 是否有一种替代非阻塞方式来排队ajax请求,所以下一个请求只在前一个请求完成后发送? 注意:我没有要处理的请求的“列表”。 请求是动态生成的,因此我需要能够在生成它们时将它们填充到某种FIFO队列中,然后使用某个进程来使用队列。

承诺数组

我正在开发一个部分,我必须从不同城市的API获取json数据并构建DOM。 到目前为止,我已经能够做到这两点。 唯一的问题是不同城市的API响应时间不同。 所以,当我构建DOM时,它们与我调用函数的顺序不同。 从我记得我需要使用诺言来获得它的顺序。 我现在的问题是: 我怎样才能使用一系列承诺(因为我的输入会有所不同)。 另外我如何执行一系列承诺? 到目前为止我的工作代码: var base_path = “https://www.example.com/”; var cities = [ “San_Francisco”, “Miami”, “New_Orleans”, “Chicago”, “New_York_City” ]; function getData(city){ var path = base_path+city+”.json”; $.getJSON(path,function(data) { // build DOM }); } for(var i=0;i<cities.length;i++) { getData(cities[i]); } 谢谢!

jQuery .load(function)同步

同步使用jQuery加载函数的最佳方法是什么? 我需要加载图像,但在加载图像之前无法执行下一行代码。 我可以循环变量,直到负载完成,但是想知道是否有更好的方法。 var img = jQuery(”).load(function () { }); //Run code here once img load has comlpeted.

异步请求后的数组中未定义的索引

我对一个完全定义良好的数组(在异步调用之外)有一些困难但是当我在异步请求中调用它的索引(例如$ .getJSON)时,数组的所有索引都是未定义的,但长度是还是一样。 这是我的代码。 我指的数组是friendsArray 在第二个“$ .getJSON”调用期间,数组具有正确的索引,但在该函数的回调内,其所有索引都未定义。 数组是否应该保留其值,因为它是在方法范围内定义的? if (response.status === ‘connected’) { var accessToken = $.trim(response.authResponse.accessToken); var hashArray = []; var friendArray = []; document.getElementById(“statusCheck”).innerHTML = accessToken; $.getJSON(‘https://graph.facebook.com/me/friends?access_token=’ + accessToken, function(dataJSON){ hashArray = dataJSON[‘data’]; for (var i = 0; i < hashArray.length; i++){ friendArray.push(hashArray[i]["id"]); } var resultJSON = "{"; var resultArray = []; for (var […]

UpdatePanel异步回发后的Javascript事件订阅

我在asp.net页面上异步回发后遇到了jquery事件处理程序的问题。 我读了这个主题 – 这是一个很好的解决方案,但我需要一个单独的function。 所以我使用jquery蒙面插件 。 我的js代码现在是: jQuery(document).ready(function () { var control = $(“#txtCustomerPhone”); InitPhonePattern(this, control); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(InitPhonePattern(this, control)); }); function InitPhonePattern(sender, args) { $(args[0]).mask(“+7 (999) 999-99-99”, { completed: function () { $(‘#btnCheckCustomerPhone’).click();} }); } 如您所见,掩码初始化了2次:在文档Ready()和异步回发之后(在endRequest()上)。 但是在异步回发后没有映射掩码插件。 有人明白问题吗? 我很感激你的帮助!

如何检测异步加载的jquery何时完成加载?

我想在页面上异步加载jquery,然后加载另一个依赖于jquery的脚本(它在加载时执行jquery代码)。 但是如何检测jquery是否已经完成了lodading。 在jquery中是否有一个事件,当库完成加载时会触发它? 从理论上讲,我可以像这样加载jquery: 但我希望代码也适用于旧浏览器,这可能不支持async和onload属性。 (在这种情况下,jquery是同步加载的。)这就是为什么我正在寻找一个jquery在加载时发出的事件。 有吗?

Angular + Requirejs – 加载顺序错误

我正在尝试使用requirejs加载angular和jquery。 我能做的最好的是,50%的时间都能正确加载,另一半我收到错误No Module: mainApp 我假设这根据requirejs异步加载脚本的速度打破了一半的时间。 当它工作时,我看到“Hello World”测试(虽然我确实看到{{text}}在替换之前闪存,但我一直在阅读如何解决这个问题)。 剩下的时间我收到错误并且{{text}}只停留在屏幕上。 Github Repo Tree: index.html – js – libs require.js – modules mainApp.js main.js main.js require.config({ paths: { ‘jQuery’: ‘//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min’, ‘angular’: ‘//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular’, }, shim: { ‘angular’ : {‘exports’ : ‘angular’}, ‘jQuery’: {‘exports’ : ‘jQuery’} } }); require([‘jQuery’, ‘angular’, ‘modules/mainApp’] , function ($, angular, mainApp) { $(function () { […]

如何知道递归异步任务何时完成

我有一个异步函数,它可以递归到自身。 我每次运行函数时都会将jQuery延迟添加到数组中,使用$.when()来检查所有promises是否已解析。 我的问题是,如果没有仲裁超时,我似乎无法做到这一点,因为我根本不知道函数何时停止递归并添加新的承诺。 这是一个JSBin演示 。 这是现实世界的例子 。