Javascript 将对象添加到parse.com查询内的数组
我有点奇怪的问题 我需要将对象添加到数组中,并且使用普通的Javascript 将对象添加到parse.com查询内的数组,javascript,arrays,parse-platform,javascript-objects,Javascript,Arrays,Parse Platform,Javascript Objects,我有点奇怪的问题 我需要将对象添加到数组中,并且使用普通的数组。push(object)似乎不起作用(没有推送任何内容) 在parse.com查询中,推送在循环的内部和外部进行 我尝试了一些调试,所有步骤上的console.log都会像我预期的那样返回结果 我的问题是:关于parse.com查询如何与array.push连接,或者对于循环,是否有什么我不知道的地方?任何帮助都将不胜感激 细节是实体(数组)和实体(对象) 我预计会出现如下结果: entities = [ { url: '/
数组。push(object)
似乎不起作用(没有推送任何内容)
在parse.com查询中,推送在循环的内部和外部进行
我尝试了一些调试,所有步骤上的console.log都会像我预期的那样返回结果
我的问题是:关于parse.com查询如何与array.push连接,或者对于循环,是否有什么我不知道的地方?任何帮助都将不胜感激
细节是实体(数组)和实体(对象)
我预计会出现如下结果:
entities = [
{ url: '/first', changefreq: 'weekly', priority: 1.0 },
{ url: '/second', changefreq: 'monthly', priority: 0.9 },
{ url: '/third', changefreq: 'weekly', priority: 0.5 }
];
但是我只得到了第一次出现在数组中的推力
我已经检查了所有parse.com查询,它们确实返回了我在下面的示例中需要和使用的数据
我的代码:
module.exports={
getSitemap:函数(回调){
“严格使用”;
var Page=Parse.Object.extend('Page'),
pageQuery=新建Parse.Query(第页),
Article=Parse.Object.extend('Article'),
articleQuery=新建Parse.Query(Article),
Profile=Parse.Object.extend('Profile'),
profileQuery=新的Parse.Query(Profile),
Category=Parse.Object.extend('Category'),
categoryQuery=新建Parse.Query(类别),
实体=[],
实体={},
我
网站地图;
entity.url='/';
entity.changefreq=‘每周’;
entity.priority=1.0;
实体。推送(实体);
实体={};
articleQuery.equalTo(“已发布”,真实);
articleQuery.select(“永久链接”);
articleQuery.find().then(函数(结果){
对于(i=0;i };代码>代码正在启动多个异步操作,然后立即根据其结果执行操作。我们需要修改代码以等待每个操作完成
// ...
// above here from the OP
articleQuery.equalTo('published', true);
articleQuery.select("permalink");
// hang on to the promise
var articlePromise = articleQuery.find().then(function(results) {
for (i = 0; i < results.length; i += 1) {
entity.url = '/article/' + results[i].get('permalink');
entity.changefreq = 'monthly';
entity.priority = 0.9;
entities.push(entity);
entity = {};
}
}, function(error) {
// do nothing
});
pageQuery.select("pagePermaLink");
// hang on to the promise
var pagePromise = pageQuery.find().then(function(results) {
for (i = 0; i < results.length; i += 1) {
entity.url = '/page/' + results[i].get('pagePermaLink');
entity.changefreq = 'monthly';
entity.priority = 0.7;
entities.push(entity);
entity = {};
}
}, function(error) {
// do nothing
});
profileQuery.select("objectId");
// hang on to the promise
var profilePromise = profileQuery.find().then(function(results) {
for (i = 0; i < results.length; i += 1) {
entity.url = '/author/' + results[i].id;
entity.changefreq = 'monthly';
entity.priority = 0.6;
entities.push(entity);
entity = {};
}
}, function(error) {
// do nothing
});
categoryQuery.select("categoryPermaLink");
// hang on to the promise
var categoryPromise = categoryQuery.find().then(function(results) {
for (i = 0; i < results.length; i += 1) {
entity.url = '/category/' + results[i].get('categoryPermaLink');
entity.changefreq = 'weekly';
entity.priority = 0.5;
entities.push(entity);
entity = {};
}
}, function(error) {
// do nothing
});
// only after all of the promises that create entities are fulfilled
// do we execute the logic that relies on that data
var promises = [articlePromise, pagePromise, profilePromise, categoryPromise];
Parse.Promise.when(promises).then(function() {
sitemap = sm.createSitemap({
hostname: 'http://brianemilius.com',
cacheTime: 300000,
urls: entities
});
sitemap.toXML(function(err, xml) {
if (err) {
callback({
error: err
});
}
callback(xml);
});
}, function(error) {
// handle error
});
/。。。
//上面是OP的照片
articleQuery.equalTo(“已发布”,真实);
articleQuery.select(“永久链接”);
//信守诺言
var articlePromise=articleQuery.find().then(函数(结果){
对于(i=0;i
阅读我已经做过的事情,但没有发现任何可以解释我的问题,这可能会有所帮助。也许你看到了我没有看到的东西?请控制台.log(结果)。在回调中。可能你没有像我在问题中写的那样得到数据