草庐IT

异步通信

全部标签

javascript - Getter 中的异步函数 w/Return 回调

我想定义一个只读对象属性,它异步获取一个值,然后使用新的EcmaScript5getter返回它。但是,该属性始终返回undefined,即使下面示例代码中的magicValue绝对不会是未定义的。此外,当我只是return'xxx';时,打印的值仍然是undefined。它仅在我在回调函数外return时有效。无论是否调用myAsyncFunction的回调,似乎都立即执行了return。我不确定这是V8中的错误还是我在滥用JavaScript的getter。我可以让它工作吗?我想,既然我现在可以使用getters和setters,我将使用getters/setters来读写属性和常

javascript - node.js 中的异步编程是否可以加速 CPU 密集型任务?

今天早些时候,我用thisanswer.回答了一个问题在我发布的示例中,我使用了bcryptNode模块中调用的同步版本。我选择使用调用的同步版本主要是因为我认为它使响应看起来更清晰一些,但我也不认为它会影响性能,因为bcrypt是cpu和内存密集型而不是I/O绑定(bind)。据我了解,node像浏览器一样在单个线程上运行几乎所有代码,并且仅将后台线程用于I/O和数据库访问等操作。这让我相信cpu密集型任务本质上仍然会“阻塞”服务器,因为没有其他线程可以将工作卸载到。对我的回复的评论表明我的假设是错误的,经过一些研究我意识到我并没有真正掌握node.js如何处理这类事情。node.j

javascript - 异步实际上是如何工作的......?

我一直在研究很多同步和异步方式的多线程、回调、调度队列……我研究的越多,我就越困惑和沮丧,以至于我觉得我似乎永远无法理解它..请有人可以引导我朝着正确的方向开始..大部分到目前为止,我发现的信息都是关于它的作用和优势的东西。我真正想知道的是,当与回调异步并在一个线程上时,该函数如何立即返回。[here]'s(http://nathansjslessons.appspot.com/lesson?id=1085)我从中得到这些信息Thefunction**returnsimmediately**beforethefileisreadandschedulesthereadtohappenso

javascript - 如何声明异步生成器函数

我正在尝试在Node.js中创建异步生成器函数,但这似乎是不可能的。我的Node.js版本:7.6.0。我的代码:asyncfunction*async_generator(){for(leti=0;i我遇到的错误:谁知道问题出在哪里?为什么我不能创建异步生成器函数,而我可以独立创建生成器函数或异步函数? 最佳答案 它在那里并且确实有效,但目前它在和谐旗帜后面。例子.jsasyncfunction*async_generator(){for(leti=0;isetTimeout(_=>r("helloworld"),100))};}

javascript - 如何通过异步 httpclient 调用使用 ngx-bootstrap typeahead

我正在尝试使用来自Angular4中的休息后端的异步结果填充nxg-bootstraptypeahead。他们的网站有一个示例(https://valor-software.com/ngx-bootstrap/#/typeahead)关于如何使用模拟可观察数据执行此操作,但我正在努力这样做与http客户端。使用它的所有示例都使用旧的Http模块,而不是Angular4中使用的新的HttpClient模块。这是他们的例子:import{Component}from'@angular/core';import{Observable}from'rxjs/Observable';import'

javascript - 如何在两个浏览器窗口之间进行通信?

我有父浏览器窗口P。单击一个按钮,将打开一个新的浏览器窗口WIN-A。然后再次按下相同的按钮,它应该读取WIN-A窗口的标题并打开WIN-B如何使用Javascript实现这一点?提前致谢 最佳答案 给定:varmyWindow=open("foo.bar");旧方法:更改窗口对象的name属性:myWindow.name="...";//infoo.bar:setInterval(someFunctionToCheckForChangesInName,100);HTML5方法:调用window对象的postMessage方法:my

javascript - 使用带有后文档就绪回调的 Jquery 异步获取多个脚本的正确方法

我计划在页面加载时从我的服务器异步获取多个JS文件。我知道Jquery函数“getScript”,但这只会获取1个脚本。当从服务器获取一批脚本时,有什么方法可以指定要执行的回调吗?我想过做这样的事情:$.getScript(script1,function(){$.getScript(script2,function(){$.getScript(script3,function(){......});});....});但这会按顺序加载脚本,我希望并行完成请求。作为取代这个问题的更一般的问题,加载N种资源(CSS、图像、脚本等)的最佳方式是什么?异步指定要在加载所有资源时执行的单个回调

javascript - 与 rails 异步的样式表

我想异步加载我的javascript和样式表以获得更好的加载性能;使用javascript我知道我可以异步加载javascripts:javascript_include_tag"应用程序",:async=>true它适用于javascripts。但这对于像这样的stylesheet_link_tag是不可能的:stylesheet_link_tag"应用程序,:media=>"all",:async=>true这也是做到这一点的“好”方法吗?谢谢我正在使用rails3.2.12和ruby​​1.8.7 最佳答案 async属性在上

javascript - 如何处理依赖于多个其他异步函数的异步函数

我有一个异步函数可以处理其他两个异步函数的结果。到目前为止我所做的是在回调function1中写function2,在function2的回调中写function2function1(callbackFunction(){function2(callbackFunction(){function3()})})有没有其他方法可以解决这个问题。我通常在客户端和nodeJs中使用JavaScript代码。我的方案是,对于function2,我不需要function1的输出。换句话说,function1和function2是独立的;但是function3依赖于function1和functio

javascript - 循环内异步函数的调用层次结构?

有一个异步调用,我正在查询一个服务的数据库,但是这个服务有一次可以输出的数量限制,所以我需要通过它发送的结果来检查它是否达到了它的限制,重复查询,直到没有。同步模型:varquery_results=[];varlimit_hit=true;#Whilethisistruemeansthatthequeryhittherecordlimitvarstart_from=0;#Paginationparameterwhile(limit_hit){Server.Query(params={start_from:start_from},callback=function(result){li