草庐IT

异步IO

全部标签

javascript - Node.js - 在继续代码之前等待多个异步调用完成

所以基本上我有一个for循环,里面有一个异步函数。问题是程序只是在循环之后继续,我希望它等到循环中调用的所有异步函数都完成后再继续代码。在我的代码中,“bar”是一个包含其他json数组的json数组。functionwrite(bla){//getscalledoneafteranotherfor(varurlinbla){asyncFunctionCall(url);//Executedabout50times,ithastorunparallel}//Waitforallcalledfunctionstofinishbeforenextstuffhappensand//write

javascript - 同步 Meteor.methods 函数中的 MeteorJS 异步代码

如何让客户端method.call等待异步函数完成?目前它到达函数的末尾并返回未定义。客户端.jsMeteor.call('openSession',sid,function(err,res){//Returnundefinedundefinedconsole.log(err,res);});服务器.jsMeteor.methods({openSession:function(session_id){util.post('OpenSession',{session:session_id,reset:false},function(err,res){//returnvalueherewi

javascript - 如何使用 RxJs 异步加载图像并在所有加载后执行方法

我正在尝试将基于promise的代码转换为RxJs,但我很难理解Rx,尤其是RxJs。我有一个包含路径的数组。varpaths=["imagePath1","imagePath2"];我喜欢用Javascript加载图片varimg=newImage();img.src=imagePath;image.onload//当所有图像都加载完毕后,我想执行一个方法。我知道有Rx.Observable.fromArray(imagepathes)还有类似的东西Rx.Observable.fromCallback(...)还有类似flatMapLatest(...)和Rx.Observable.

javascript - 将变量传递给javascript中的异步函数( promise )

我有以下循环运行的代码:varindex=fileNames[x].lastIndexOf("/")+1;varcurrentImageName=fileNames[x].substr(index);if(currentImageName.indexOf(".jpg")!=-1){reader.getFileAsBlob(fileNames[x]).done(function(blob){picturesFilePathArray.push({fileName:currentImageName,fileURL:blobURL(blob)});refreshKMZList();});}我

javascript - 等待函数完成 - 执行是异步的(不按顺序)

在继续我的代码之前,我试图获取用户的城市和国家。好像javascript没有按照我需要的顺序执行。$(document).ready(function(){varcountry,city='';functiongeoData(){$.getJSON('http://ipinfo.io/json?callback=?',function(data){console.log('step1');country=data.country;city=data.city;console.log('step2');});};geoData();console.log('step3');/*resto

javascript - 用于混合应用程序的 Aurelia.io

我想问一下AureliaJS框架是否可以在混合应用程序开发中用作Ionic的替代品。我已经看到了一些尝试,如何与Cordova集成,但是从他们的页面上并不清楚应该如何完成。 最佳答案 您可以像在常规浏览器中一样在Cordova上使用Aurelia。这基本上就是您的链接文章试图讲述的内容。开始使用Aurelia并将其托管在Cordova中。但这并不能解决您可能期望的Ionic替代品的问题。基本上,您必须自己构建这个抽象层或使用适合您需要的另一个UI框架。@EisenbergEffect在评论中谈到名为AureliaInterface的

javascript - 如何在异步/等待语法中使用 Promise.prototype.finally()?

实际上我的主要问题是在async/awaitES8语法中使用Promise.prototype.catch(),毫无疑问是Promise。prototype.then()存在于async/await语法的本质中。我搜索了关于在async/await中使用Promise.prototype.catch()并找到了这个:async()=>{try{constresult1=awaitfirstAsynchronousFunction();constresult2=awaitsecondAsynchronousFunction(result1);console.log(result2);}c

javascript - 如何将文本输入字段值设置为常量并将该值记录在 Cypress.io 中

如何将文本输入字段值获取到Cypress中的“const”变量,以便我可以使用cy.log()记录该变量。以下代码没有记录任何内容,熟悉Cypress.io的人可以指教cy.get('input[name="email"]').then(($text)=>{consttxt=$text.text()cy.log(txt)}) 最佳答案 使用invoke('val')而不是invoke('text')对我的情况有效。html标签的提示Cypress代码cy.get('input[name="email"]').invoke('val'

javascript - task.js 生成器/ promise 与异步回调

我想知道在处理JavaScript中的异步代码时,这两种方法中哪种方法更好。我想了解哪种方法可以生成更清晰的代码。我习惯于使用promises,它们似乎比异步方法(https://github.com/caolan/async)更灵活。我也知道Task.js库(http://taskjs.org/),但这依赖于作为EcmascriptHarmony一部分的yield关键字。 最佳答案 async库封装了几个非常常见的异步模式,包括并行进行任意异步调用和异步迭代列表。它旨在与“nodeback”(err,res)API一起使用,这使得

javascript - 多次异步服务调用后的 AngularJS 函数

我有一个RESTAPI,我想像这样从AngularJS服务调用它:angular.module('myModule').service('MyApi',['$http',function($http){return({resources:resources,details:details});functionresources(){return$http.jsonp('/api/resources');}functiondetails(key){return$http.jsonp('/api/details/'+id);}}]);那里删除了其他实现细节,例如不重要的身份验证。API由第