我正在为我的javascript应用程序使用Parse后端。它适用于商店,收银员需要扫描二维码,然后加载该卡上的产品列表。我想加载该卡上每个产品的信息。我通过不同的查询得到它,然后 1 个 mainQuery 来获取它们。我正在使用 3 种产品进行测试,现在我正在这样做:
var mainQuery = Parse.Query.or(queries[0], queries[1], queries[2]);
我使用 for 循环设置查询,但我上面的这一行需要灵活。现在它仅适用于 3 种产品。理想的做法是:
var mainQuery = Parse.Query.or(queries);
只是一次给出所有查询...但这行不通..有什么解决方案可以让它工作吗?
提前感谢!
我根本不知道parse.com
,但要将其概括为纯javascript答案,任何需要多个参数的函数都可以用apply
和数组调用
function doSomething(arg1, arg2, arg3){
console.log(arg1,arg2,arg3);
}
var arr = ["val1","val2","val3"]
doSomething.apply(this, arr);
因此,在您的问题中,您可能可以这样做:
var mainQuery = Parse.Query.or.apply(Parse.Query,queries);
在 ES6 中有一种更简单的方法,使用 spread 语法
var mainQuery = Parse.Query.or(...queries);
您可以使用 ES6 扩展语法:
var mainQuery = Parse.Query.or(...queries);