感谢您的帮助!
我有一个后台工作,我必须使用Parse.Query.each()重写,因为我现在有几千个对象,并且数字将继续在我的产品的生命周期中增长。 Here's a link to Parse.Query.each()'s documentation.
我必须通过两个不同的对象集查询两个自定义类,并根据数据修改第三个自定义类的对象数组。我试图使用promises执行两个查询然后保存我的对象数组。但是,我的第一个查询返回一个错误,并尝试访问错误消息是一个错误,因为它说错误未定义。我无法调试我的代码,因为我无法获得相关的错误消息,以找出第一个查询未成功的原因。
这是我的代码设置,我尝试将promises与Query.each结合使用:
//set up queries
query1.each
(
function( object1 )
{
{//do stuff modifying arrayOfObject3s}
}
).then
(
function( results )
{
return query2.each
(
function( object2 )
{//do more stuff modifying arrayOfObject3s}
);
},
function( error )
{
//This is the line I'm getting an error at, saying "Cannot read property 'message' of undefined at..."
status.error("There was an error while performing query1: " + error.message);
}
).then
(
function( results )
{
return Parse.Object.saveAll( arrayOfObject3s);
},
function( error )
{
status.error("There was an error performing query2: " + error.message)
}
).then
(
function( arrayOfObject3s )
{
status.success("Performed the queries and saved the objects!");
},
function( error )
{
status.error("There was an error while saving the objects: " + error.message);
}
);
我明显误解了如何使用query.each以及解析承诺,因为我的工作立即失败并出现错误说"无法读取属性' message'未定义的..."并给出第一个function( error )
块中第一个.then()
的行号。我已经尝试了上面看到的内容,以及前两个results
块的第一个函数中没有.then()
的内容,得到了相同的错误。
如果您有任何建议可以正确设置,请告诉我。我是这些承诺的新手,这是我第一次尝试使用query.each()。