我得到一个我不明白的常见Parse错误:
[Error]: success/error was not called (Code: 141, Version: 1.6.1)
以下是代码:
- (void) setIsConnected:(NSNumber*)isConn ForFormHeader:(FormHeader*)fh PushParams:(NSDictionary*)pushParams
{
PFQuery* query;
__block PFObject* rsi;
query = [PFQuery queryWithClassName:RemoteShareInfo_RemoteClass];
[query whereKey:ShareID_RemoteField equalTo:[[[fh dataFormTypeInfo] remoteRecipientInfo] shareID]];
[query whereKey:RecipientEmail_RemoteField equalTo:[[[fh dataFormTypeInfo] remoteRecipientInfo] recipientEmail]];
[[[[query getFirstObjectInBackground] continueWithSuccessBlock:^id(BFTask *task)
{
NSLog(@"Notice - setIsConnected(1): object found");
rsi = [task result];
if ([isConn boolValue])
{
rsi[IsConnected_RemoteField] = @YES;
rsi[ClonedPageCount_RemoteField] = [fh clonedPageCount];
rsi[IsPro_RemoteField] = [[NSUserDefaults standardUserDefaults] objectForKey:UDIsProVersion];
if ([[fh formDatas] count])
{
NSMutableArray* fdAttrib = [NSMutableArray new];
for (FormData* fd in [fh formDatas])
{
[fdAttrib addObject:[fd attributesDic]];
}
rsi[FormDatas_RemoteField] = fdAttrib;
}
}
else
{
rsi[IsConnected_RemoteField] = @NO;
}
return [rsi saveInBackground];
}] continueWithSuccessBlock:^id(BFTask *task)
{
NSLog(@"Notice - setIsConnected(2): object saved");
if (pushParams)
{
return [PFCloud callFunctionInBackground:FNFormogenPush withParameters:pushParams];
}
else
{
return nil;
}
}] continueWithBlock:^id(BFTask *task)
{
if ([task error])
{
NSLog(@"Error - setIsConnected(3): %@", [[[task error] userInfo] objectForKey:@"error"]);
}
else
{
NSLog(@"Success - setIsConnected(4): object connected, notification sent");
}
return nil;
}];
}
这是控制台输出:
2015-03-07 13:01:44.780 formogen[4338:6302988] Notice - setIsConnected(1): object found
2015-03-07 13:01:44.984 formogen[4338:6302986] Notice - setIsConnected(2): object saved
2015-03-07 13:01:45.799 formogen[4338:6302987] [Error]: success/error was not called (Code: 141, Version: 1.6.1)
2015-03-07 13:01:45.801 formogen[4338:6302989] Error - setIsConnected(3): success/error was not called
错误意味着我应该在调用callFunctionInBackground之后立即调用成功/错误,但是调用的签名表明它将适合链接策略。我做错了什么?
由于
答案 0 :(得分:0)
错误来自我调用的Cloud Code函数,而不是调用本身。我没有为Parse push的结果提供成功或错误块。