Я пишу код javascript, используя Анализ. У меня есть Пользователь класс и Подписки класс. Информация о подписке всех пользователей хранится на . Подписка класс, так что это как отношение для многих.Parse - Javascript Вложенные вызовы
Я хотел бы получить информацию о пользователе и подсчет подписей каждого пользователя и сохранить его в массиве объектов.
То, что я попытался это следующим образом:
var user = Parse.User;
var query = new Parse.Query(user);
query.find().then(function(objects) {
return objects;
}).then(function (objects) {
for(var i = 0; i < objects.length; i++) {
var object = objects[i];
var subscription = Parse.Object.extend('Subscription');
var queryForSubscription = new Parse.Query(subscription);
queryForSubscription.equalTo('subscriptionUser', object);
queryForSubscription.count().then(function(subscriptions) {
var userEmail = object.get('email');
var userDOB = object.get('userDOB');
var userJoinedAt = object.createdAt;
var userGender = object.get('userGender') ? 'Male' : 'Female';
var subscriptionCount = subscriptions;
var sub = [
userEmail,
userDOB,
userGender,
userJoinedAt,
subscriptionCount
];
userArray.push(sub);
});
}
});
Однако userArray содержит только информацию последнего пользователя repetively. Я считаю, что это связано с тем, что второе обещание запроса (queryForSubscription) .count()) выполняется после завершения внешнего цикла.
Предположим, у меня есть Пользователь A и Пользователь B. Пользователь A имеет две подписки, тогда как Пользователь B не имеет. Что я ожидал что-то вроде этого:
[{User A's email, User A's dob, User A's Gender, User A's Joined Date, 2},
{User B's email, User B's dob, User B's Gender, User B's Joined Date, 0}]
Однако результат
[{User A's email, User A's dob, User A's Gender, User A's Joined Date, 2},
{User A's email, User A's dob, User A's Gender, User A's Joined Date, 0}]
Я застрял в данный момент. Пытались использовать Promise и т. Д., Но понятия не имели. Пожалуйста, помогите!
UPDATE
GOTTA ЛЮБОВЬ ТАК !!! СПАСИБО ВАМ КАЖДОГО ОДНОГО ОДНОГО ИЗ ВАШИХ ПУТЕЙ ТАК МНОГО! Ещё один вопрос здесь. На самом деле, я получил еще один класс под названием Favorite, чтобы получить количество избранных пользователей каждого пользователя.
Если число любимых пользователей А является 5 и 3 для пользователя B, ожидаемый результат будет выглядеть в конце:
[{User A's email, User A's dob, User A's Gender, User A's Joined Date, 2, 5},
{User B's email, User B's dob, User B's Gender, User B's Joined Date, 0, 3}]
Я не слишком уверен, где я поставил новый запрос для Избранного класс ... Нужен ваш совет снова!
Возможно, вам стоит поставить какой-то код синтаксического анализа в ваш вопрос. Таким образом, люди могут видеть, что у вас есть, и помогать вам в этом. – JayDev
Спасибо, Джей! это был мой первый раз, чтобы задать вопрос о stackoverflow :) Я только что редактировал свой пост! –
В чем проблема? – fxm