草庐IT

同步异步

全部标签

javascript - 如何链接异步/等待使用依赖于第一次调用的数据

假设我有一个async/await调用一个获取所有用户的API。asyncfunctiongetUsers(){constusers=awaitApi.getAllUsers()returnusers.map(user=>{return{id:user.id,group:'datadependsonsubsequentAPIcall',}})}在返回映射中,我必须执行另一个API调用以获取一些应该在同一范围内的数据。constgroupByUser=Api.getGroupByUserId()我该如何实现?我可以在现有的中放置一个异步/等待吗?我是否创建一个包含所有用户ID的数组并以某

JavaScript:一个一个地执行异步函数

我有一个简单的“异步”JS函数:functionasyncFunc(i){setTimeout(function(){console.log(i);},1000);}如果我想在一个for循环中执行这个asyncFunc5次,即每秒记录1-5次,总共花费5秒。12345我知道jQuery的when().done()可以做到这一点,但是如果我在没有第3方JS库的环境中,实现此目的的最简单优雅的方法是什么?实际上,例如我想写一个util函数,它接受一个异步函数数组,这个util函数可以一个一个地执行传入的函数:functionexecAsyncTasks([asyncTask1,asyncT

javascript - 嵌套在 async.js waterfall 中的异步函数

免责声明:非工程师,对JS非常陌生大家好-我正在尝试利用async.js模块将一组函数链接在一起。我想要的输出是遍历mapData(对象数组),然后再将其传递给最终函数(现在-只是console.log(result)。async.waterfall([function(callback){getCoords(function(data){mapData=data;});callback(null,mapData);},function(mapData,callback){//getEmail(mapData);callback(null,mapData);}],function(er

javascript - angular.js ui + bootstrap typeahead + 异步调用

我将typeahead与angular.js指令一起使用,但我填充自动完成的函数进行了异步调用,我无法返回它来填充自动完成。无论如何让它与这个异步调用一起工作? 最佳答案 我可以假设您正在使用Bootstrap2.x的typeahead吗?如果是这样,在文档中,typeahead()选项的source字段的描述是这样的:Thedatasourcetoqueryagainst.Maybeanarrayofstringsorafunction.Thefunctionispassedtwoarguments,thequeryvaluein

javascript - 谷歌应用程序脚本是同步的吗?

我是一名Java开发人员,同时学习JavaScript和GoogleApps脚本。作为新手,我学习了JavaScript的语法,而不是它的实际工作原理,我很高兴地使用GoogleAppsScript并按顺序和同步编写代码,就像Java一样。我的所有代码都类似于这样:(已大大简化以显示我的意思)functiondoStuff(){varurl='https://myCompany/api/query?term而且有效!它工作得很好!如果我不继续学习JavaScript,我会说它就像发条一样运转。但是JavaScript不是发条装置,它是异步的,据我所知,这根本不起作用,它会“编译”,但是

javascript - 具有不同端口的浏览器同步服务命令

我想尝试使用gulp,我做了一个类似于此的简单项目example我想做的是使用不同的端口为项目提供服务,我尝试遵循这个costum-portexample我的gulpfile.js看起来像这样:vargulp=require('gulp');varbrowserSync=require('browser-sync');varlivereload=require('gulp-livereload');varreload=browserSync.reload;//watchfilesforchangesandreloadgulp.task('serve',function(){livere

javascript - 递归调用异步函数

我有一个异步函数,我想连续多次调用它。问题是“多”可以是几十万,也可以是几百万……显而易见的方法是从回调中调用相同的函数:functionfoo(){asyncBar(foo);}当然涉及一些逻辑来停止递归。问题是堆栈是否充满了调用并可能在某个时候导致堆栈溢出? 最佳答案 Thequestioniswhetherthestackisfillingwithcallsandmaycausestackoverflowatsomepoint?否。如果asyncBar()调用异步传递的回调,则没有堆栈堆积。在您的代码中:functionfoo

javascript - 不等待函数的异步方法 - VUE

我遇到了这个错误,虽然在MDN和此处进行了大量研究,但还没有解决它。正如标题在VUE中所说,我正在尝试使用异步和等待,但js没有等待“等待”功能结束。在这里:methods:{asyncsearch(terms,done){console.log('1.')this.filter=this.$refs.chipsInput.inputawaitthis.loadtags()console.log('3.')done(this.tagsList)},loadtags(){this.$axios.get('/api/tags/?id__icontains=&id=&name__iconta

javascript - 如何使用脚本同步谷歌日历和电子表格

我正在尝试创建一个GoogleApps脚本,使Google日历和云端硬盘上的“主电子表格”保持同步-这可能吗?我找到了这两个帖子:http://blog.ouseful.info/2010/03/04/maintaining-google-calendars-from-a-google-spreadsheet/http://blog.ouseful.info/2010/03/05/grabbing-google-calendar-event-details-into-a-spreadsheet/我很确定这可以使用大量if语句和逻辑来完成,但也许有更简单的方法?我最终只提供了以下简单脚本

javascript - 在 firebase 云函数中返回多个异步函数的 promise ?

所以我有一个调用2个异步函数的Firebase云函数。exports.someFunction=functions.firestore.document('some/path').onCreate(event=>{asyncFunction1();asyncFunction2();});asyncFunction1和asyncFunction2都返回一个promise。现在,Firebasedictates我们应该Resolvefunctionsthatperformasynchronousprocessing(alsoknownas"backgroundfunctions")byre