草庐IT

异步通信

全部标签

javascript - 如何在 `n` 循环中每隔 `m` 和 `while (true)` 秒调用两个异步函数?

我有以下循环:while(true){awaitf();awaitg();}其中f和g定义如下:asyncfunctionf(){awaitPromise.all([SOME_REQUEST_F,sleep(1000)])}asyncfunctiong(){awaitPromise.all([SOME_REQUEST_G,sleep(5000)])}另外sleep定义如下:functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}我的意图是让SOME_REQUEST_F每隔一秒等待一次,SOME_REQUE

javascript - 通过 HTTP 进行实时双向 JSON-RPC 通信

我正在构建一个接受HTTP请求的JSON-RPC服务器。我想支持双向通信(客户端和服务器都可以发送请求),具体用例是发布/订阅架构,其中客户端发送subscribe(X)请求并接收changed(X)请求(几乎)实时。据我所知,有几种方法可以用HTTP实现:长轮询WebSockets使用基于cookie的session模型轮询调用流式传输(保持HTTP连接打开)上述一些的组合我正在寻找的是一种基于公认的互联网标准(如果可能)的解决方案,可从网络浏览器使用并且易于在客户端使用。到目前为止,我更喜欢流媒体(Twitter、CouchDB就是这样做的),但我不确定浏览器和JSON-RPC库对

javascript - 试图让 JQuery Post 与 WCF 通信,但不接受 JSON 数据

我正在使用以下JQuery\JavaScript代码与WCF4REST服务通信。varserviceUrl="http://services.xiine.com/Xiine/Live/AccountService/rest/json/Login";varuserInfo={"IsNotEncrypted":true,"Password":null,"UserName":null};varloginSuccess=function(data,textStatus,jqXHR){console.log("yay");};varloginError=function(){console.lo

javascript - 异步设置为 false 的 jquery ajax 可防止 Chrome 中先前的显示更改

所以我有这个:$('.something').click(function(){$('body').html('');$.ajax({url:'someurl',dataType:'json',async:false,success:function(data){//dostuffalert('yo');}});returnfalse;});在Firefox中,body会在正确发出“yo”警报之前变为空白...但是在Chrome中,即使$('body').html('')调用在ajax之前执行....这是由于设置为false的异步设置...如果它是true,它也会在chrome中正常工

JavaScript:如何在异步内部函数中返回外部函数?

我知道我可以使用外部变量来识别外部函数需要处理的某些状态。但是考虑一下:如果内部函数是异步的?外层函数不会等待内层函数的变量发生变化,那么现在如何返回外层函数呢?functionouter(){varflag=true;//Forexample,ajquery-likeajaxcall$.ajax({//Somesettingserror:function(jqXHR,textStatus,errorThrown){//HereIwanttoreturnouter()flag=false;}});returnflag;}如您所见,如果我使用flag作为返回值,outer()很可能会返回

javascript - Chrome 扩展程序与其余 Web 服务通信

我是chrome扩展的新手,我正在开发一个将与我的其余Web服务通信的扩展。我的其余Web服务将返回一个json字符串。我想做的是调用我的网络服务,获取响应json。目前我的background.js中有这个:chrome.browserAction.onClicked.addListener(function(tab){chrome.tabs.getSelected(null,function(tab){varlink=tab.url;alert(link);});});我的计划是当用户点击图标扩展时,当前选项卡url将被发送到我的网络服务,它会得到响应json。我的问题是,在C#中

javascript - 在调用回调之前如何等待异步创建的对象完全可用?

我正在尝试创建一个函数来创建一个新标记。我需要能够在回调中处理新标记的一些属性。问题是marker立即创建并可用于调用回调,但某些属性尚不可用。如果我在尝试访问属性之前等待两秒钟,它工作得很好-这让我相信对象在创建后仍在异步生成自身。Simplemarkershtml,body{height:100%;margin:0;padding:0;}#map{height:100%;}functioninitMap(){varlatLng=newgoogle.maps.LatLng(-25.363,131.044);varmap=newgoogle.maps.Map(document.getE

javascript - 如何使用 Promises 实现异步无限循环

我需要一个“无休止的”while循环,其中包含promises。下面是一些示例代码:letnoErrorsOccured=truewhile(noErrorsOccured){someAsyncFunction().then(()=>{doSomething();}).catch((error)=>{console.log("Error:"+error);noErrorsOccured=false;});}functionsomeAsyncFunction(){returnnewPromise((resolve,reject)=>{setTimeout(()=>{constexampl

javascript - 如何使用回调函数的异步等待从异步函数返回值?

我是nodejs的新手,它是回调hell,我在Node8中阅读了有关async/await的介绍,并且有兴趣以这种方式实现它我有一组特定的方法,我需要以同步方式一个接一个地为trelloAPI调用例如创建看板使用版blockID创建标签使用版blockID创建卡片在卡片上贴上标签在卡片中创建列表将每个项目添加到卡片列表中你可以想象在nodejs中,这需要大量的回调嵌套到另一个中以访问前一个对象createProjectBoard:function(project){t.post("1/board",{name:project.name,desc:project.description,

javascript - 我应该在异步函数中抛出错误还是返回被拒绝的 promise ?

这个问题在这里已经有了答案:ShouldanasyncAPIeverthrowsynchronously?(5个答案)关闭5年前。我正在履行AWSJSSDK提供的promise.当我创建一个包装AWSSDK的异步函数时,我正在做的事情的要点如下所示:module.exports.myCustomFunction=input=>{if(badInput){thrownewError('failed')//{//carryon}).catch(err=>{//dosomethingwiththeerror})有人找到我,他说我永远不应该在这些基于promise的函数中抛出错误。他们建议改为