मैं प्यार करता हूँ कि कैसे स्केला सुरक्षित टाइप है नहीं है, लेकिन एक रनटाइम त्रुटि मैं में प्रदर्शन जारी रखनाकैसे सबसे अच्छा Future.filter विधेय को संभालने के लिए संतुष्ट प्रकार त्रुटियों
Future.filter predicate is not satisfied
मैं कारण है कि मैं इस त्रुटि हो रही है देख सकते हैं, बस इस त्रुटि के आसपास सबसे अच्छा काम करने के तरीके के बारे में सलाह की तलाश करें और इसे शानदार तरीके से संभालें या शायद मैं यह गलत कर रहा हूं?
val r: Future[play.api.mvc.Result] = for {
account <- accountServer.get(...)
if account.isConfirmed
orders <- orderService.get(account, ...)
} yield {
...
}
खाते की पुष्टि नहीं की है, तो मैं उपरोक्त त्रुटि मिल जाएगा।
मैंने सोचा होगा कि फ़िल्टर विफल होने की संभावना है, इसलिए स्केल उपज वापसी मूल्य को एक विकल्प बना देगा। नहीं?
val orders = accountServer.get(...)
.flatMap { account =>
if(account.isConfirmed) orderService.get(account, ...)
else Future.successful(Seq.empty)
}
कैसे यह एक विकल्प लौट सकते हैं, यदि आप घोषित (जीन Logeart के जवाब के रूप में है, लेकिन भीतर-समझ के लिए एक) परिणाम का परिणाम 'परिणाम' होना चाहिए? – Dima
एक सार्थक त्रुटि उत्पन्न करने के लिए 'भविष्य 'को पुनर्प्राप्त करें। 'भविष्य' [परिणाम] 'नहीं होना चाहिए? –
@ एम-जेड हां मैंने इसे भविष्य में धन्यवाद दिया। – Blankman