草庐IT

同步异步

全部标签

javascript - 如何使用给定数量的流执行顺序异步ajax请求

我需要使用有限的流发出顺序异步ajax请求。截至目前,我只能在Web服务器上占用一个流,因此我一次只能执行一个ajax请求。当我被允许一次只使用一个流时,我有以下功能可以帮助我。functioninitiateChain(){vari=0;vartasks=arguments;varcallback=function(){i+=1;if(i!=tasks.length){tasks[i](callback);//blockshouldcallcallbackwhendoneotherwiseloopstops}}if(tasks.length!=0){tasks[0](callback

javascript - Chrome 中的同步控制台日志记录

是否可以同步登录到控制台?我经常遇到代码执行比转储结构更快的情况。这解决了输出已经更改的对象。我当然可以使用调试器遍历代码,进行单元测试等,简单地查看console.log内容通常很方便,只是为了大致了解正在发生的事情。 最佳答案 您可以在将对象传递给console.log之前创建该对象的副本。看here用于创建对象的深拷贝的函数。编辑:现已在Chrome中实现,请参阅here 关于javascript-Chrome中的同步控制台日志记录,我们在StackOverflow上找到一个类似的

javascript - 在 React 中使用 componentWillMount 或 componentDidMount 生命周期函数进行异步请求

我正在阅读有关React生命周期的文章,但有点困惑。有些人建议使用componentWillMount进行ajax调用:https://hashnode.com/post/why-is-it-a-bad-idea-to-call-setstate-immediately-after-componentdidmount-in-react-cim5vz8kn01flek53aqa22mbyCallingsetStateincomponentDidMountwilltriggeranotherrender()callanditcanleadtolayoutthrashing.在其他地方它说不

javascript - 如何测试包含导入的异步方法的类?

这是我第一次进行测试,并且获得了测试UI组件的技巧。现在,我正在尝试测试其中包含一些静态方法的类。它也包含参数。见上课:importUserInfoModelfrom'../models/UserInfo.model';importApiClientfrom'./apiClient';importApiNormalizerfrom'./apiNormalizer';importArticlefrom'../models/Article.model';importNotificationfrom'../models/Notification.model';importContentfro

javascript - RxJS 中的同步性

我希望以下代码可以异步运行:varrange=Rx.Observable.range(0,3000000);range.subscribe(function(x){},function(err){},function(){console.log('Completed');});console.log('HelloWorld');但事实并非如此。遍历大范围的数字需要一段时间,只有完成后才会恢复执行,您可以尝试代码here.我对何时期望RxJS同步或异步行为感到困惑。这取决于使用的方法吗?我之前的想法是,一旦我们进入Observables/Observer领域,其中的所有内容都会异步运行,

javascript - 我可以同步多个图像加载调用吗?

我想要一个函数在加载特定图像时运行,但我不知道如何在运行之前等待两者加载。我只知道如何链接它们,如下所示:Image1=newImage();Image1.src='image1-link.jpg';Image2=newImage();Image2.src='image2-link.jpg';Image1.onload=function(){Image2.onload=function(){...}}这样做的缺点是它必须等到Image1完全加载后才能获取第二个。我想尝试这样的事情:Image1=newImage();Image1.src='image1-link.jpg';Image2

javascript - AJAX为什么叫异步?

AJAX为什么叫异步?它是如何完成与服务器的异步通信的? 最佳答案 它是异步的,因为它不会锁定浏览器。如果您触发Ajax请求,用户仍然可以在请求等待响应时工作。当服务器返回响应时,将运行一个回调来处理它。如果需要,您可以使XMLHttpRequest同步,如果这样做,浏览器会在请求未完成时锁定(因此大多数情况下这是不合适的) 关于javascript-AJAX为什么叫异步?,我们在StackOverflow上找到一个类似的问题: https://stackov

javascript - 如何通过构造函数异步调用注入(inject)服务,Angular 2

这就是问题所在:我有一个在构造函数中发出HTTP请求的服务:constructor(publichttp:Http,publicgeolocation:Geolocation){this.http=http;this.geolocation=geolocation;//Httprequest...thiswillsetvariableforecastoftheclasswhencomplete.this.getForecast(16);}然后我将该服务注入(inject)到这样的组件中:constructor(publicconnector:ApiConnector){this.for

javascript - 使用 browserify 异步/延迟加载 Vue 组件

我试图在laravel项目中将许多Vue.js组件加载到我的app.js文件中(通过elixir使用browserify/vueify)。我不想一次加载每个组件,而是想在需要时使用vuerouter延迟加载各个vue组件。.我在哪里设置partitionbundlejson文件,它应该如何构建?目前,我将以下内容绑定(bind)到我的主要app.js文件中:importVuefrom'vue';importResourcefrom'vue-resource';importVueRouterfrom'vue-router';//ThesearethecomponentsthatIwish

javascript - javascript 或 firefox 中的 console.dir() 是异步的吗?

一个很奇怪的问题。在我的调试中,我发现console.dir(anArray)没有在浏览器的firebug控制台上输出当前值。例如,console.dir(anArray)//line1console.log(anArray[0].prop1)//line2codetochangethevalueofanArray[0].prop1//line3anArray是javascript/json对象的数组,在Firbug的控制台中,第1行输出了第3行设置的新值,第2行是旧值,是我想要的。唯一的解释是console.dir()是异步的,对吧?!我的环境:Windows7,Firefox6.0