草庐IT

互斥与同步

全部标签

javascript - 有没有办法伪造同步 XHR 请求?

我正在使用Emscripten系统将一堆C++代码移植到Javascript。C++代码多次调用fopen这是一个同步IO调用。在Emscripten中,我们使用对本地资源的XHR请求来模拟此操作但是,在Firefox中同步XHR调用(使用responseType或blob的arraybuffer)仅在Web-worker。转换所有C++代码以适应异步IO代码似乎非常复杂,所以在我的第一次尝试中,我想看看我是否可以伪造一个同步XHR请求。我最初的想法是主循环可以与网络worker共享一些状态,网络worker可以进行同步io调用并更新共享状态,同时主循环暂停并等待网络worker完成。

javascript - 使用javascript同步加载图像

我需要同步加载图像,也就是说我需要暂停执行javascript直到图像加载完毕。由于image.onload是异步的,所以main函数将在图像加载之前返回。我正在使用canvas,如果main函数在图像加载并绘制之前返回,则canvas中的其他内容将在图像之前绘制。这是行不通的,因为在Canvas上绘制的顺序非常重要!这是我一直在做的:varimg=newImage();img.onload=function(){//imagedrawingcodehere}img.src="blahblahblah";//functionreturnshere,andotherdrawingcode

JavaScript 同步自定义提示

我需要使用自定义提示,就像这个jQueryplugindemo中显示的那样.问题是,所有自定义提示都依赖于回调,它们是异步的,我需要它们是同步的。我需要做类似的事情:alert("Yournameis"+myPrompt("What'syourname?"));其中myPrompt是模态自定义同步提示。这可能吗?谢谢,奈米 最佳答案 您可以使用JQueryUI对话框将DIV显示为模态对话框。参见http://docs.jquery.com/UI/Dialog/dialog#options然而,要支持真正的同步对话(阻塞函数调用),您

javascript - 如何同步访问 indexedDB?

indexedDB有一个spec说你可以同步访问索引数据库,但还没有实现。我只是想知道是否有办法让它手动同步,我的JavaScript看起来像这样,vartrans=databaseAsync.transaction(["mapTile"],IDBTransaction.READ_WRITE);varstore=trans.objectStore("mapTile");varkeyRange=IDBKeyRange.bound(evt.data[0],evt.data[0]);varcursorRequest=store.openCursor(keyRange);//canyouput

javascript - 多个目录上的全局同步模式

我正在尝试实现一个glob同步模式,使我能够满足以下条件,但不幸的是,我很难弄清楚为什么该模式不起作用。全局模式glob.sync("./src/handlebar/{a,b,c,d}/**/*.hbs")文件路径模式src/handlebar/b/a/header.hbssrc/handlebar/b/header.hbssrc/handlebar/a/head.hbs[MATCH]src/handlebar/a/foot.hbs[MATCH]src/handlebar/c/a/something.hbssrc/handlebar/d/a/button.hbs我做错了什么?

javascript - JavaScript 中的同步回调函数有什么用?

我一直在广泛阅读网络异步编程以及JavaScript和jQuery中回调的使用。我已经了解了AJAX的基础知识。我想不通的是在异步编程中不使用回调函数时的使用。根据我的理解,简单地向函数添加回调并不能使其成为非阻塞/异步的。异步能力实际上是由环境(浏览器API)提供的。因此,向我编写的函数添加回调不会导致任何异步执行。例如:varX;functionTest(A,B,Callback){X=A+B*A*B;Callback(X);}Test(99999,999999,function(Data){alert(Data);});alert("Thisisnotprintedfirst,a

javascript - 异步 API 是否应该同步抛出?

我正在编写一个JavaScript函数,它发出HTTP请求并返回对结果的promise(但这个问题同样适用于基于回调的实现)。如果我立即知道为该函数提供的参数无效,该函数应该同步throw,还是应该返回一个被拒绝的promise(或者,如果您愿意,使用调用回调>错误实例)?异步函数应该始终以异步方式运行有多重要,尤其是在错误情况下?如果您知道程序未处于适合异步操作继续的状态,是否可以throw?例如:functiongetUserById(userId,cb){if(userId!==parseInt(userId)){thrownewError('userIdisnotvalid')

javascript - Google Chrome 扩展中的同步调用

我正在开发GoogleChrome扩展程序,它必须阻止/重定向一些传出请求。为此,我使用了chrome.webRequest.onBeforeRequest监听器。要决定是否阻止请求,我需要一些有关发送标签请求的信息。我可以使用chrome.tabs.get(integertabId,functioncallback)获取它,但是回调是异步的,这意味着它可能在从onBeforeRequest返回值后调用听众。chrome.webRequest.onBeforeRequest.addListener(function(details){chrome.tabs.get(details.ta

javascript - 在 javascript 中获取同步行为?

在开发手机PhoneGap应用程序时,我遇到了一个有趣的问题。我需要从数据库中查询大约10项数据(通过PhoneGapsSQLiteAPI)...像许多javascriptAPI一样,这个是异步的。当您进行查询时,您将传递一个“成功”处理程序。现在,在这种情况下,我更喜欢同步查询方法,它只在完成时返回。然后我可以编写直线代码来查询10个项目中的每一个。由于PhoneGap的异步特性(实际上,我在JS中看到了这一点)我被迫编写了一个看起来像这样的野兽:db.query("SELECT...",success(){db.query("SELECT...",success(){db.quer

SpringBoot 同步和异步网络请求

关于本文主要介绍springboot下的一些网络请求方式,包含同步请求和异步请求。正文1.ResTemplata方式这种方式是同步请求。此处再次介绍同步和异步的区别:同步,是指一个任务接着一个任务,当上一个任务完成时,才可以开启下一个任务。在网络请求中是指,当向网络服务器发送网络请求时,服务器会对请求进行处理,处理结束后会响应对应的内容。在接收到响应内容前,是不能继续发送请求的,需要等待接收到网络响应才可以继续。异步,是指可以开启一个任务队列,可以满足多个任务同时进行,当队列中有任务结束,就可以继续添加新任务。当向网络服务器发送网络请求后,只要在等待响应的任务数没有超过设定的限额,就可以继续进