2017-10-11 83 views
0

我爲我的JavaScript應用程序使用了Parse後端。 這是一家商店,收銀員需要掃描QR碼,然後該卡上的產品列表將加載。 我想加載該卡上每個產品的信息。 我用不同的查詢得到它,然後用1個mainQuery來獲取它們。 我有3種產品的測試,現在我這樣做:解析數據庫javascript「OR」查詢

var mainQuery = Parse.Query.or(queries[0], queries[1], queries[2]); 

我有一組查詢for循環,但此行我上面要靈活。現在只有3種產品。做理想的事情是:

var mainQuery = Parse.Query.or(queries); 

只給一次所有的查詢......但是,這並不工作.. 是否有任何解決方案,得到這個工作?

在此先感謝!

+2

[Function.prototype.apply的()](HTTPS: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply) – Pointy

+1

或使用ES6擴展語法:'Parse.Query.or(... queries);' – trincot

回答

2

我不知道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做到這一點更簡單的方法,利用擴展語法

var mainQuery = Parse.Query.or(...queries);