Я работаю с WebSockets через библиотеку tokio-tungstenite. Мой код выглядит так
println!("Подключаемся к {}", url.bright_blue());
let (ws_stream, _) = connect_async(url).await.expect("Не удалось подключить к WebSocket");
println!("Подключились");
let(mut write, mut read) = ws_stream.split();
println!("{}", "Отправка подписки на новые транзакции".bright_blue());
let msg = Message::Text("{\"method\": \"subscribeNewToken\"}".into());
write.send(msg).await.expect("Не удалось отправить");
if let Some(message) = read.next().await {
let answer = serde_json::from_str(message).expect("Ошибка чтения");
}
Мне нужно сериализовать данные от сервера, но компилятор выдает ошибку
error[E0308]: mismatched types
--> src/main.rs:46:43
|
46 | let answer = serde_json::from_str(message).expect("Ошибка чтения");
| -------------------- ^^^^^^^ expected `&str`, found `Result<Message, Error>`
| |
| arguments to this function are incorrect
|
= note: expected reference `&str`
found enum `Result<tokio_tungstenite::tungstenite::Message, tokio_tungstenite::tungstenite::Error>`