Tôi đang cố gắng thực hiện một đơn vị trả về chức năng (đây là để thực hiện một quan sát RxScala), nhưng khi tôi thêm ()
vào cuối nó, tôi nhận được một lỗi "Ứng dụng không tham số". Đây là mã của tôi:Cách trả lại Đơn vị từ chức năng scala?
val client3MessageStreamObserver: Observable[Message] = client3.messageStream()
client3MessageStreamObserver.subscribe(
m => println("Unexpected message received by client3"),
// callback for handling exceptions
t =>
println("Ex client3: " + t)
// want to make this line work (which it doesn't) which is why
// I need to be able to return Unit.
// client3TestPromise.success(true)
() // error after adding Unit literal here.
)
Tại sao tôi gặp lỗi này sau khi thêm ()
và làm cách nào để loại bỏ lỗi này? Nếu tôi bỏ nó ra tôi nhận được một lỗi nói "Loại không phù hợp: Dự kiến (Throwable) => Unit, thực tế: (Throwable) => Any)".
Tính năng này hoạt động vì bạn chỉ đang triển khai phương thức 'onNext' và' onError' trong đặc điểm 'Đăng ký'. Điều này là tốt, nếu bạn không muốn bất kỳ hành vi nào cho phương thức 'onComplete'. –
Vâng tôi không cần phải làm bất cứ điều gì onComplete ngay bây giờ. Đó là một vấn đề với cú pháp. Tôi không thể làm thế nào để vượt qua các thông số một cách chính xác. – jbrown