कई बार (5-10 बार) के लिए नीचे कोड कॉल करने के बाद, SaveCallback के लिए किया गया() विधि आग नहीं है और पूरा एप्लिकेशन अटक गया है। ऐसा लगता है कि यह अनुरोध खंडहर अनुरोध कतार है और सभी और प्रश्न उनके कॉलबैक को भी आग नहीं देते हैं। कॉलबैक और लॉग में कोई त्रुटि नहीं है। "सहेजने से पहले" - लॉग में प्रदर्शित, जबकि "सहेजा" - नहीं था।saveInBackground कॉलबैक काम नहीं करता
क्या मुझे पार्स मूल्य निर्धारण अनुबंध बदलने या किसी भी तरह अपना कोड बदलने की आवश्यकता है?
Log.d("MESSAGE OBJECT", " BEFORE SAVING");
messageParseObject.saveInBackground(new SaveCallback() {
@Override
public void done(final ParseException e) {
Log.d("MESSAGE OBJECT", " SAVED");
if (e != null){
completitionCallback.error(e);
return;
}
chatObject.put(ModelConstants.LAST_MESSAGE_KEY, messageParseObject);
chatObject.getRelation(ModelConstants.MESSAGES_KEY).add(messageParseObject);
chatObject.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
Log.d("CHAT OBJECT", " SAVED");
if (e == null)
completitionCallback.success();
else
completitionCallback.error(e);
}
});
}
});
संदेशपर्सऑब्जेक्ट क्या है? अनुलेख आम तौर पर किसी अन्य के अंदर 'saveInBackground' को कॉल करना नियमित बात नहीं है। यह समस्या का कारण हो सकता है। –
@VladimirLichonos messageParseObject प्रकार ParseObject है, इसमें संदेश निर्माता को सरणी और सूचक है। पहले _saveInBackground_ में मैं चैट का संदेश सहेजता हूं, अगले में मैं अपना चैट ऑब्जेक्ट अपडेट करता हूं (संबंध में संदेश जोड़ रहा हूं)। तो सबसे पहले मुझे संदेश सहेजने की ज़रूरत है, और इसे सहेजने के बाद मैं chatObject को अपडेट करता हूं। – PaulKh