草庐IT

异步通信

全部标签

javascript - 如何在异步模式下使用 XMLHttpRequest 设置多个 header 数据?

我的api调用要求我在header中传递apikey,但我从api服务返回错误{"error":"2424452","message":"InvalidApiKey"}我知道我的apikey是有效的,因为我可以在Python中进行相同的api调用,例如:req=requests.Session()req.headers.update({'x-api-key':'my-api-key','X-Product':'my-product-name'})req.get(url)但在javscript中,同样的调用会出错。我相信我没有正确设置header或其他东西?varreq=newXMLHt

javascript - 真正的异步、非阻塞 javascript 不是不可能的吗?

所以,我在这里遗漏了什么吗?所有流行的现代浏览器中的javascript引擎(截至2011年)都是单线程。这意味着虽然EVENTS可以异步发生,但它们仍然排队(在“单个文件”中)以待执行。这意味着所有这些将外部javascript加载到HTML页面的技术,它们实际上只允许异步发生下载,但是下载代码的执行总是发生一个(函数)一次,一次一个文件。所以我在网上看到的其他“提示”使用setTimeout分解和执行初始化代码块,那将是虚假的、不正确的建议——计时器也是一个单文件队列,并且只按顺序执行。使用setTimeout你只是通过定时器导致乱序执行并允许浏览器中的其他事件(即鼠标点击或按键等

javascript - Node.js 异步函数*定义*

拜托,只是为了清理一下我脑子里的东西......我习惯于使用库中的异步函数进行编写,但我该如何编写自己的异步函数?为了说明我的问题,我编写了一个名为“MadMathz”的模块我知道以下是异步函数的示例用法://loadmodulevarmM=require('./MadMathz');//performafunctionmM.async_function_addthree(12,function(result){console.log(result)});//dosomethingstraightafterwardsconsole.log('Loggingthisstraightaft

javascript - 加载异步资源后运行内联脚本

我用优化器测试了我的页面,它建议我对我使用的所有CDN源使用async属性,例如:要运行我使用的任何脚本:(function(){})();我还在引用此类库的内联script标记中包含JavaScript代码。但是,当我如上所述添加async时,在以下脚本中出现错误:(function(){jQuery.foundation();ReactDOM.render(,document.querySelector('#app'));})();我也尝试过将async添加到此script标记中,但它仍然不起作用。我仍然收到错误消息,指出加载了async属性的库不存在。

javascript - 使用异步需要异步功能,但我的功能是异步的

我正在改编librarythatusescallback使用promise。它在我使用then()时有效,但在我使用await时无效。>dbc.solve[AsyncFunction]>awaitdbc.solve(img)awaitdbc.solve(img)^^^^^SyntaxError:awaitisonlyvalidinasyncfunctiondbc.solve的代码是:module.exports=DeathByCaptcha=(function(){functionDeathByCaptcha(username,password,endpoint){...}DeathB

javascript - 是否有可能两个异步 Javascript 函数实例同时执行两个代码块?

我知道Javascript没有多线程,但我想知道以下代码是否有可能中断。我的理解是,除非调用异步函数,例如setTimeout或AJAX调用,否则一旦代码块开始执行,它就无法暂停,直到它完成或调用异步函数.基本上,用户选择多个复选框,然后点击一个按钮,该按钮对他们的选择执行AJAX处理。我的目标是拥有一个“正在保存...”图标,该图标仅在所有AJAX进程完成之前一直存在,并在所有进程完成后显示一条成功消息。除非出现任何AJAX错误,只要jQuery.post中的回调函数不间断地完整执行,我看不到if(numProcessed==toProcess)会执行多次或少于一次。但是如果两个AJ

Javascript:有什么方法可以检测所有异步脚本何时加载?

如果您在HTML页面上使用纯脚本标记,则呈现将被阻止,直到脚本被下载和解析。为了避免这种情况,为了更快地显示页面,您可以添加“async”属性,它告诉浏览器继续处理页面而不等待该脚本。然而,这本质上意味着引用该脚本中任何内容的其他javascript可能会崩溃,因为它需要的对象尚不存在。据我所知,没有可以绑定(bind)的allScriptsLoaded事件,所以我正在寻找模拟事件的方法。我知道以下策略可以推迟运行其他代码,直到异步脚本可用:对于单个脚本,使用它们的“onload”事件或属性。但是,如果有多个脚本,就我所知,没有内置方法可以判断何时加载了所有脚本。在附加到窗口的onlo

javascript - 用于 portlet 间通信的 AJAX 是否可行?

我知道您可以创建无需刷新整个门户页面即可刷新其内容的portlet,只需使用JSR286resourceURL标记并进行AJAX调用即可。我的问题是,是否可以在PortletA中执行AJAX调用并以某种方式定位并动态更新PortletB?想法是在您通过actionURL或事件进行portlet间通信时避免who门户页面刷新(重新呈现)。 最佳答案 您可以使用jQuerytrigger()和bind()方法在portlet之间进行通信。使用这种方法,所有通信都将在客户端(浏览器)进行,无需任何服务器交互。监听事件的portletB应该

javascript - 如何在 Node.js 中为超大(> 1GB)文件的每一行运行异步函数

假设您有一个巨大的(>1GB)CSV记录ID:65545349302854930294930301493031...对于每个id您想调用RESTAPI来获取记录数据,在本地转换它,然后将其插入本地数据库。如何使用Node.js的ReadableStream做到这一点?我的问题基本上是这样的:如何逐行读取一个非常大的文件,为每一行运行一个异步函数,并且[可选]能够从特定行开始读取文件?从下面的Quora问题我开始学习使用fs.createReadStream:http://www.quora.com/What-is-the-best-way-to-read-a-file-line-by-

javascript - 使用jquery异步上传文件的操作

我想使用jQuery异步上传文件。这是我的HTML:这是我的JavaScript代码:$(document).ready(function(){$("#upload").click(function(){varfilename=$("#f").val();$.ajax({type:"POST",url:"addFile.do",enctype:'multipart/form-data',data:{file:filename},success:function(){alert("AllFilesHaveBeenUploaded");}});});});我只得到文件名而不是我上传的实际文