gpt4 book ai didi

Javascript Angular 解析同步查询(按顺序)

转载 作者:行者123 更新时间:2023-11-30 09:47:05 24 4
gpt4 key购买 nike

我正在尝试在 javascript 中使用 Parse 按顺序同步进行两个查询:

var innerQuery = new Parse.Query(Attendees);
innerQuery.equalTo("user_id",$localStorage.username);
innerQuery.equalTo("status","confirmed")
innerQuery.equalTo("code_verified",false)

var innerQuerytrue = new Parse.Query(Attendees);
innerQuerytrue.equalTo("user_id",$localStorage.username);
innerQuerytrue.equalTo("status","confirmed")
innerQuerytrue.equalTo("code_verified",true)


innerQuery.find({})
innerQuerytrue.find({})


var eventDetails = []

var queryfalse = new Parse.Query(Events)
queryfalse.matchesKeyInQuery("id_event","event_id",innerQuery);

var querytrue = new Parse.Query(Events)
querytrue.matchesKeyInQuery("id_event","event_id",innerQuerytrue);


queryfalse.find().then(function(results){
for (var i in results) {
var object = results[i];
var eventId = object.get("id_event");
var eventname = object.get("event_name");
var datestart = object.get("date_start");
var location = object.get("location");
var eventimagefile = object.get("event_image");
var eventimageurl = eventimagefile.url();
eventDetails.push({'name':eventname,'eventId':eventId, 'location':location, 'datestart':datestart, 'eventphoto':eventimageurl,'verified':false})
}

}).then(function(){
querytrue.find().then(function(results1){
for (var i in results1) {
var object = results1[i];
var eventId = object.get("id_event");
var eventname = object.get("event_name");
var datestart = object.get("date_start");
var location = object.get("location");
var eventimagefile = object.get("event_image");
var eventimageurl = eventimagefile.url();
eventDetails.push({'name':eventname,'eventId':eventId, 'location':location, 'datestart':datestart, 'eventphoto':eventimageurl,'verified':true})
}
})

}).then(function(){
$scope.events = eventDetails;
})

第二个查询 queryfalse 并不总是执行。我正在使用 promises,但不确定它是否是正确的使用方式。

最佳答案

只需添加 return 以将 querytrue.find().then() 返回的 promise 传递到链下,以便下一个 then() 在 promise 得到解决之前不会执行。这也使您的代码更扁平,以避免深度嵌套的 promise 。

    queryfalse.find().then(function(results){
// code clipped for brevity
}).then(function(){
return querytrue.find().then(function(results1){
// code clipped for brevity
});
}).then(function(){
$scope.events = eventDetails;
});

这是一个可以证明这一点的工作 plunker:https://plnkr.co/edit/SwPIC1K6yEhEgpIlxoEo?p=preview

关于Javascript Angular 解析同步查询(按顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38446799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com