[英]Consumer can't find in Kotlin
我想將此Java示例轉換為kotlin。
但...
{responseBody-> .....}類型不匹配。
fun handleAudioMessageEvent(event: MessageEvent<AudioMessageContent>) {
handleHeavyContent(
event.replyToken,
event.message.id
) { responseBody ->
val provider = event.message.contentProvider
val mp4: DownloadedContent
if (provider.isExternal) {
mp4 = DownloadedContent(null, provider.originalContentUrl)
} else {
mp4 = saveContent("mp4", responseBody)
}
reply(event.replyToken, AudioMessage(mp4.uri, 100))
}
}
.
.
.
private fun handleHeavyContent(
replyToken: String, messageId: String,
messageConsumer: Consumer<MessageContentResponse>
) {
val response: MessageContentResponse
try {
response = lineMessagingClient?.getMessageContent(messageId)
?.get()!!
} catch (e: InterruptedException) {
reply(replyToken, TextMessage("Cannot get image: " + e.message))
throw RuntimeException(e)
} catch (e: ExecutionException) {
reply(replyToken, TextMessage("Cannot get image: " + e.message))
throw RuntimeException(e)
}
messageConsumer.accept(response)
}
類型不匹配。
必需:消費者
找到:(???)->單位
如果您將handleHeavyContent
的聲明更改為此,我猜它會起作用:
private fun handleHeavyContent(
replyToken: String, messageId: String,
messageConsumer: (MessageContentResponse) -> Unit
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.