草庐IT

递归查询

全部标签

javascript - 为什么 Javascript 中的递归异步函数会导致堆栈溢出?

考虑这个片段:functionf(){returnnewPromise((resolve,reject)=>{f().then(()=>{resolve();});});}f();也可以这样写:asyncfunctionf(){returnawaitf();}f();如果您运行给定的两个代码中的任何一个,您将遇到此错误:(node:23197)UnhandledPromiseRejectionWarning:RangeError:Maximumcallstacksizeexceeded我的问题是为什么?在回答我的问题之前,请考虑我的论点:我了解递归的概念以及如果没有停止条件它如何导致堆

javascript - 使函数调用等待 web SQL 查询

无论传递的数字是否为质数,Primecheck函数都应该返回true或false。如果数字是素数,函数将其添加到PRIMES表中。这是埃拉托色尼筛法算法,但还没有完成。functionprimecheck(number){varisprime=true;if(number%10==1||number%10==3||number%10==7||number%10==9){db.transaction(function(tx){tx.executeSql('SELECT*fromPrimes',[],function(tx,result){for(vari=1;i问题:当我传递不以1、3、

javascript - 查询 : Can't remove element dynamically created

这个问题在这里已经有了答案:Jqueryclickeventnotfiringontheelementcreateddynamicallyusingjquery(3个答案)关闭8年前。我试图删除一个动态附加的元素,但似乎没有读取为该元素附加的类函数。我可以点击+按钮添加新元素,但是点击“-”按钮我不能删除。Name:+$("#plusdfteng").click(function(){$("#dftenglist").append('Name:-');});$(".minusbtn").click(function(){$(this).parent().remove();})http:

javascript - 试图理解递归函数的类似堆栈的行为

我正在MDN上阅读关于函数的文章,我到达了递归部分,但我不明白最后一部分谈论使用类似堆栈的行为。例子是那个:functionfoo(i){if(i关于该功能,我了解何时显示begin日志,但我不知道何时显示end日志。有人可以帮我解释一下吗? 最佳答案 所以基本上在执行i-1时每次调用foo时它都保持函数打开,它没有返回。它一直在继续,因此begin不断被调用,一旦它达到0,最后一个函数调用就会返回。一旦发生这种情况,其他foo调用也可以开始完成。它们将从最旧到最新完成。您可以通过PhilipRoberts使用放大镜看到它的可视化.

javascript - 尝试将嵌套循环转换为递归函数

我正在尝试创建以下嵌套循环的递归版本并获得与引用代码相同的结果。示例如下。这是Codepen上的一个版本http://codepen.io/anon/pen/XbQMLv(代码的目的是仅输出索引中整数的唯一组合。)原始代码和输出:varlen=4;for(vara=0;a递归代码和输出:varlen=4;varend=3;vardata=[];varloop=function(index){if(index===end){console.log(data);return;}for(vari=index;i不确定我在这里遗漏了什么。 最佳答案

javascript - DynamoDB 查询包含来自 Node.js 数组的值之一

是否可以在类别上使用数组[apple,orange]进行查询(也是一个数组。如下所示)并获取包含apple或橙色?row1|"category":[apple,orange,banana,watermelon]row2|"category":[banana,watermelon]row3|"category":[orange,watermelon]我希望得到row1,row3作为包含apple或orange的结果。 最佳答案 您可以使用CONTAINS函数来检查列表中的值。但是,如果要检查多个值,则需要对每个值使用逻辑或条件。CON

javascript - GraphQL 使用字段值作为另一个查询的变量

我正在查询同一组件中都需要的2个对象。问题是其中一个查询必须等待另一个查询并将其id字段用作另一个查询的参数。不确定如何实现。constPlayerQuery=gql`queryPlayerQuery($trackId:Int!,$duration:Int!,$language:String!){subtitle(trackId:$trackId,duration:$duration){id,lines{texttime}}translation(trackId:$trackId,language:$language,subtitleId:???){lines{translationo

javascript - JavaScript堆如何处理递归

您好,我上面的问题有点含糊,所以我会尽量使它更清楚。我有以下形式的代码:functionmain(){asyncfunctionrecursive(){vara="HelloWorld";varb="GoodbyeWorld";recursive();}recursive();}我遇到了堆内存不足的问题。假设我上面展示的是我的程序的行为方式,在递归函数中声明了a和b,我的问题是变量是否在递归函数中调用recursive时被销毁,或者它们是否会一直存在直到出现假设我让主函数运行足够长的时间以使其发生,则不再有递归调用并且主函数到达其终点。我担心它们在堆中仍然存在,因为我的真实程序在这些变

javascript - 将查询过滤器应用于对象的 JavaScript 数组

constsample_table1_data=[{title:'aa-1',customers:['a','b']},{title:'aa-2',customers:['a','c']},{title:'bb-1',customers:['d','e']},{title:'cc-1',customers:['b','e','f']},{title:'dd-1',customers:['f','g']},{title:'dd-2',customers:['g']},]我正在尝试过滤如上所示的对象数组。假设我对title是一个字符串,而customer是一个字符串数组。我做了一个名为fi

javascript - AngularJS 推送到 $resource 查询检索到的数组并保存

检查下面的代码。问题在评论中。angular.module('MainStreetMower.services',['ngResource']).factory('Videos',function($resource){return$resource('/api/jobs/1/');});functionVideoListCtrl($scope,Videos){$scope.videos=Videos.query();$scope.what=function(){//properwaytopushtothevideosarrayand$save()thenewarray.}}