草庐IT

同步异步

全部标签

javascript - 如何进行实时同步编辑?

我正在尝试构建一个Rails应用程序,它基本上只是一个文本编辑器(具有一些我在其他任何地方都找不到的附加功能-这就是我构建它的原因)核心功能之一是实时并发编辑或实时协作编辑(随便你怎么称呼)。到目前为止,我已经使用名为Juggernaut的插件设置了网站。.这使我能够从客户端或服务器向所有其他客户端发送我想要的任何Javascript。因此,当有人键入内容时,我可以将该人键入的内容发送给其他所有客户端,而无需其他客户端轮询服务器。我遇到的问题归结为我不知道使用什么算法来解决冲突,也不知道如何以最好的方式做到这一点。我已经阅读了一点OperationalTransformation,但只

javascript - Ember.js:如何通过异步确认来防止脏模型上的转换?

我有一个很常见的情况:有一个脏模型,如果用户尝试转换到任何其他路线,我想显示确认信息。我有这样的东西可以与window.confirm确认对话框一起使用:varEventRoute=Ember.Route.extend({actions:{willTransition:function(transition){varevent=this.modelFor(this.routeName);if(event.get('isDirty')&&!confirm("Areyousure?")){transition.abort();}else{event.rollback();returntru

javascript - 使用套接字保持 Sails.js 集合的客户端同步

我非常喜欢Meteor的pub/sub。我想知道是否有办法获得类似的工作流程,使用sails.js或者只是一个套接字库。特别是,我希望能够做的是以下方面的事情://Server-side:App.publish('myCollection',->collection.find({}))//Client-side:letmyCollection=App.subscribe('myCollection')letbob=myCollection.find({name:'Bob'})myCollection.insert({name:'Amelie'},callback)与服务器的所有交互都应

javascript - 我可以在异步函数中抛出错误吗?

这个问题在这里已经有了答案:Howtorejectinasync/awaitsyntax?(7个答案)关闭5年前。我在我的Node.js项目中使用async/await。在某些地方,我需要从async函数返回一个错误。如果我使用Promises,我可以这样完成它:functionpromiseFunc(){returnnewPromise((res,rej)=>{returnrej(newError('someerror'))})}但我使用的是async函数,所以没有res和rej方法。所以,问题是:我可以在async函数中throw错误吗?或者它被认为是一种好的/坏的做法?我想做的一

javascript - 在 JavaScript 的异步函数中捕获所有 Promise 拒绝

当多个promise在异步函数(javaScript-节点v8.4.0)中等待后抛出拒绝错误时,我遇到了捕获所有错误的问题。引用以下javaScript:作为引用,函数timeoutOne()和timeoutTwo()仅返回一个本地promise,分别在1秒和2秒超时后解析一个值,或者如果我将“deviousState”设置为true则以错误拒绝。letdeviousState=true;asyncfunctionasyncParallel(){try{letres1=timeoutOne();letres2=timeoutTwo();console.log(`Alldonewith$

javascript - 同步 JQuery.post()

我正在编写一个小脚本,通过一个循环进行单独的AJAX调用,我遇到了一个很可能是显而易见的问题。似乎循环将快速处理使用ajax接收的数据,导致它只加载循环中的最后一段数据。我添加了一个警告框,它逐步完成迭代并可以很好地加载数据,但它在用户环境中不实用。代码只是一个jquery.post(),在for循环中有一个回调。我可以根据要求发布代码,但我觉得这可以口头解决。有人知道按顺序加载数据的解决方法或更好的方法吗?编辑.ajaxSetup()是否修改了.post()?也许我可以用它来更改.post()..的异步值。 最佳答案 我的frie

javascript - 异步使用 IndexedDB

加载数据并将它们存储在indexeddb数据库中。我定期遇到数据库崩溃并无法访问它的情况。请给我一个如何异步使用indexeddb的解决方案!我现在使用的示例代码:vardataTotal=0;varthreads=6;//openIndexeddbConnection();functionstart(total){dataTotal=total;for(vari=0;idataTotal){//checkEnd();return;}$.ajax({url:baseUrl,data:{offset:dataNum},success:function(data){successData(

javascript - 异步每个 vs forEach js

谁能给我解释一下这两者的区别:async.each(items,function(item,callback){//Dosomething});或:items.forEach(function(item){//Dosomething)}; 最佳答案 异步.each是非阻塞的(异步的),意味着您的脚本在运行时继续执行。它也是并行运行的,意味着同时处理多个项目。这是外部库提供的方法,我猜async.它不是原生Javascript功能,也没有添加到Array.prototype中,因此您不能编写myArray.each。数组.forEac

javascript - 从回调内部访问对象字面量属性(异步方法)

我正在编写一个需要与书签子树交互的chrome扩展。这个子树有很多交互,所以我将这个逻辑抽象成一个对象字面量,如下所示:varcontextStore={'root_id':undefined,'setup':function(){...},//populatesroot_id'add':function(name){...},//usesroot_id'remove':function(name){...},//usesroot_id//...etc...};contextStore.setup();//onlyonce.contextStore.add("foo");context

javascript - 即使在响应代码 200 之后 Backbone 同步错误

你好Backbone忍者,这是我第一次使用Backbone-所以请原谅我的“菜鸟”。在我的功能(更大应用程序的一部分)中,我有一个BackboneViewvA,由模型mA支持(应该是),服务器端在SpringMVC中,用@RequestBody和@ResponseBody注释了SpringController方法。我让Jackson在Spring上运行良好。现在,在应用程序中,Backbone.Model|_BaseModel(custombasemodelforourapp)|_mA(mymodel)mA有自己的端点,它在发出PUT请求时成功地调用了它,即当我从ViewvA的提交按钮