草庐IT

同步异步

全部标签

javascript - 使用 JavaScript Web Workers 的并行编程/同步

是否有任何同步原语,如障碍、信号量、锁、监视器,...JavaScript/WebWorkers或者是否有一些可用的库使我能够使用这些东西(我正在考虑Java中的java.util.concurrent之类的东西)?Worker是否具有将它们与线程区分开来的晦涩属性(例如,它们可以与主线程共享内存)?是否有某种限制可以产生多少worker(例如,出于安全原因或其他原因......)?我需要特别注意什么吗? 最佳答案 网络worker没有共享内存的概念;复制线程之间传递的所有消息。话虽如此,您没有屏障、信号量、锁和监视器,因为您在网络

javascript - 异步循环中的 Node.js Api 调用

我在进行多次api调用并在正确位置获取返回结果时遇到困难。这就是我想要实现的目标:两个循环,嵌套。外部循环遍历一个复杂的json对象,并将一些对象的值放在数组调用框中。内部循环调用api并将返回的结果放在名为bag的数组中。所以我有装满数据的盒子和袋子。当循环和api调用都结束时,我想访问box和bag中的数据并对其进行处理。我只是不确定在同一执行点访问两个数组的最佳方法。这是我目前所拥有的,但当然bag和box是空的,因为它们在所有循环和api调用结束之前被调用。vardata={}//ajsonobjectwithdata;varbag=[];varbox=[];async.for

Javascript ES6 生成器异步

我需要异步运行生成器(我需要在控制台1、2、3、4、5中得到结果,因为现在我有4、1、2、3、5)有人可以帮助我吗?我需要运行任务并等待上一个任务完成后再运行下一个任务。我需要使用(如果可能:仅)生成器(或生成器+promise?)这是我的代码/*jshintesnext:true*/functionshow(msg){var_msg=msg;setTimeout(function(){console.log(_msg);},2000);}functionshow2(msg){console.log(msg);}varstack=[];//addsomefunctiontostacks

javascript - Selenium 和异步 JavaScript 调用

我对Selenium和JavaScript回调函数还很陌生,我有一个大问题我自己无法解决。我需要一个使用JavaScript的指定变量。如果我使用GoogleChrome打开页面并使用控制台输入我的JavaScript代码,我可以使用如下方式获取变量:1.varmyId;2.getSomeIdStuffInfo("somestuff",function(docId)(myId=docId));3.returnmyId;如果我一步一步地输入这一行,我很容易得到正确的值myId。但是,当然,如果我尽可能快地执行这三行代码,我会得到null作为返回值,因为当我返回myId时回调函数还没有完成

javascript - 用于异步事件的 jQuery

我有一个html按钮需要异步触发3个事件。如果我有这个:$('#id').click(function(e){func1();});$('#id').click(function(e){func2();});$('#id').click(function(e){func3();});我能得到并发吗?或者如果一个功能需要很长时间,下一个功能会被阻止吗?Javascript如何处理这种顺序调用?谢谢, 最佳答案 “一个功能需要很长时间,下一个功能会被阻止”-您与我们共享的代码将以这种方式运行。您需要显式实现异步事件,因为@Zakaria

javascript - 如何在 node.js 中完成异步函数后运行函数?

我想在我的async之后运行代码forEach循环。myPosts.forEach(function(post){getPostAuthor(post.authorID,function(postAuthor){post.author=postAuthor;}});res.render('index',{posts:myPosts});res.end();在上面的代码中,首先运行res.render,然后运行​​forEach填充post.author 最佳答案 与其使用forEach迭代,不如映射到Promise,然后使用Prom

javascript - Google Analytics 异步跟踪代码段的含义是什么?

Google在“Addinganalytics.jstoYourSite”指南中提供了以下代码片段:window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+newDate;这段代码是否初始化了GoogleAnalytics?怎么办? 最佳答案 让我们分解一下window.ga=正在为Windows对象上的ga分配一个变量window.ga||function(){...}因为短路,这将分配现有的window.ga或调用函数。这可以被认为是:if(!

javascript - 了解异步 React 渲染

我刚开始学习React,我想知道为什么下面的代码不能按预期工作。我以为它会显示Thenumbers:0123但它只显示0。我也对基于类的组件使用了相同的方法,并使用了钩子(Hook),但我仍然得到相同的结果。我对使用异步代码进行react渲染有什么不理解的?importReactfrom"react";importReactDOMfrom"react-dom";functionApp(){letnumbers=[0];fetch("some.url").then(res=>res.json()).then(list=>{for(letnoflist){numbers.push(n);}

javascript - 动态脚本标签添加是异步的?

动态脚本标签添加是异步的吗?就像动态地包含来自不同域的一组JavaScript文件一样...... 最佳答案 是的,它是异步的。动态注入(inject)总是导致浏览器通过DOM加载外部资源(例如样式表、图像、flash),这必须异步发生以避免浏览器锁定。你在看JSONP吗(“带填充的JSON”)有机会吗?它使用动态脚本标签注入(inject)。它越来越多地成为关于“AJAX”的讨论的一部分,而同步JSONP(如同步XmlHttpRequest)是不可能的这一事实经常被忽视。 关于java

javascript - 如何对服务器进行 JavaScript 同步调用?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowcanIgetjQuerytoperformasynchronous,ratherthanasynchronous,AJAXrequest?我有一个返回初始化数据的方法。它首先检查sessionStorage。如果在那里找不到数据,它会调用服务器以获取数据。这是代码:functiongetInitializationData(){//Checklocalstorage(cache)priortomakingaservercall.//AssumeHTML5browserbecausethisisanInt