草庐IT

异步编排

全部标签

javascript - 排队异步 HTTP 文件上传

有没有一种方法可以在不借助Flash或Silverlight的情况下对文件上传进行排队,而只需巧妙地使用表单和JavaScript?请注意,上传应异步执行。我所说的“排队”上传是指如果用户尝试上传多个文件,则不应同时传输这些文件,而应在单个HTTP连接中一次传输一个文件。 最佳答案 由于规范的限制,我认为不可能在单个HTTP连接上执行此操作。但是,通过放置可能会得到几乎相同的行为。单独表单中的字段(使用HTML或JavaScript)并按顺序提交。将他们的目标放在上并使用iframe.onload事件触发列表中的下一个表单。补充说明

Javascript:如何通过异步递归树遍历控制流?

我需要在树上递归,以使用异步操作在特定节点上执行操作。如何控制流,以便在完成后可以访问节点?这是一个示例情况:data={name:"deven",children:[{name:"andrew"},{name:"donovan"},{name:"james",children:[{name:"donatello"},{name:"dan"}]},{name:"jimmy",children:[{name:"mike"},{name:"dank"}]}]};我有一个函数,目标是遍历树并大写以'd'开头的所有名称。之后,我想将树传递给另一个函数以做更多的工作(可能删除所有以“a”开头的名

javascript - 如何避免这种异步惰性模式?

很多时候,我需要在Javascript中编写这样一个延迟异步加载:if(myvar!=undefined){doSomeTreatment(myvar)}else{loadMyVarAsynchronously().then(function(value){myvar=valuedoSomeTreatment(myvar)})}在这里,myvar是散列的某个属性,而不是局部变量。loadMyVarAsynchronously异步加载myvar的值(例如,使用Promise或JQueryDeferred)是否有一种模式可以避免在此代码中将以下行写两次?doSomeTreatment(my

JavaScript:将同步代码调整为异步,以支持 IE8?

我正在处理一个数据密集型网站,我需要支持IE8。我在IE8中收到一些“运行缓慢的脚本”错误,因此我正在调整我的代码以在旧浏览器的循环期间定期暂停。这是我当前的代码:combineData:function(xData,yData,values){varcombinedData=this.combineDatasets(xData,yData,values.x,values.x_val);combinedData=this.calculateRatiosForData(combinedData);//variousotherdataoperations,thencontinuetoset

javascript - 如何处理 Node.js expressjs 中异步对象方法中未处理的 promise 拒绝?

我在对象内部使用异步函数在express.js中发送响应Controller代码:module.exports={asyncsignUpEmail(req,res){/***@descriptionParametersfrombody*@param{string}firstName-FirstName*@inner*/constfirstName=req.body.firstName;res.send({success:name});thrownewError();//purposelyDone}}问题:因为signUpEmail方法在我的例子中是异步的,无论我的异步方法在这里抛出什么

javascript - 在异步函数内的回调中调用 await

这是一些代码(这是一个过于简化的示例,我知道它很愚蠢):functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}asyncfunctiontest(){[1,2,3].map(()=>{console.log('test');awaitsleep(1000);});}test();目标是:显示测试然后等待一秒钟然后显示测试然后等待一秒然后显示测试然后等待一秒但是运行这段代码会导致失败:awaitisareservedword我知道我可以使用for循环修复它:asyncfunctiontest(){for(

javascript - 作用域和异步 JavaScript

我最近在工作中遇到了一个问题,至少根据我对JavaScript的了解,我得到了一个不可能的结果。我希望有人能解释这里发生了什么,以及为什么实际结果与我的预期结果不同。控制台中的预期结果id:a,x:1id:b,x:1id:c,x:1控制台中的实际结果id:c,x:1id:c,x:2id:c,x:3代码functionMyClass(id){varx=0;returnfunction(){returnfunction(){x+=1;console.log("id:",id,",x:",x);}}}functionDoStuff(id){varq=MyClass(id);response_

javascript - 异步回调

我编写了一个使用jQuery发出异步请求的函数。varSite={asyncRequest:function(url,containerId){$.ajax({url:url,onSuccess:function(data){$(containerId).html(data);}});}}由于我使用的是记事本,语法可能略有错误,但希望您能理解。我调用函数:Site.asyncRequest('someurl',container1);Site.asyncRequest('someurl',container2);这两个请求都由服务器发送和处理。两个响应被发回,这是我所期望的。但是,我希

javascript - 如何制作干净的异步循环?

按照典型的REST标准,我将我的资源分解为单独的端点和调用。这里主要讨论的两个对象是List和Item(当然,列表有一个项目列表,以及与之相关的其他一些数据)。因此,如果用户想要检索他的列表,他可能会向api/Lists发出Get请求然后用户可能想要获取其中一个列表中的项目,并获取api/ListItems/4,其中4是从List.listId检索到的在之前的通话中。一切都很好:$.ajax的options.complete属性让我指向一个回调方法,因此我可以简化这两个事件。但是,如果我想获取所有相关列表的元素,事情就会变得非常困惑。例如,假设我有一个名为makeGetRequest的

javascript - 在 redux 中使用 thunk 中间件比使用常规函数作为异步操作创建者有什么好处?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题?更新问题,使其仅关注一个问题editingthispost.6年前关闭。Improvethisquestion我已经使用redux大约两个月了,最近才开始探索处理异步行为(例如获取数据)的不同方法。它出现在documentation来自discussionsonGitHub使用thunkmiddleware执行此操作的标准方法这是一个非常简单的概念,但是我不确定我是否理解在可以使用简单的独立函数时将执行异步状态机的责任交给redux中间件的好处。使用thunk中间件的传统Redux方法异步操作创建者fetchPos