2016-12-14 2 views
3
value unsafePerformSync is not a member of scalaz.concurrent.Task[String] 
[error]  val x = task.unsafePerformSync 
[error]    ^
[error] one error found 

Wie die oben (2.11.8) scalac Fehler zu beheben? Vielen Dank.Wert unsafePerformSync ist kein Mitglied von scalaz.concurrent.Task [Zeichenfolge]

Aus dem folgenden Code-Schnipsel:

import org.http4s._, org.http4s.dsl._         
import org.http4s.client.blaze._ 
import scalaz._, Scalaz._ 
import scalaz.concurrent.Task 

object Client extends App { 
    val client = PooledHttp1Client() 
    val httpize = Uri.uri("http://httpize.herokuapp.com") 

    def post() = { 
    val req = Request(method = Method.POST, uri = httpize/"post").withBody("hello") 
    val task = client.expect[String](req) 
    val x = task.unsafePerformSync 
    println(x) 
} 
+0

Welche Scalaz-Version ist das? – rethab

Antwort

2

Seit dem ersten Release 0.13 http4s wurde für Scalaz 7.1.x und 7.2.x. Quer veröffentlicht In Scalaz 7.1.x war die unsafePerformSync einfach run (was als Name zu einladend ist für etwas, das man idealerweise niemals direkt oder höchstens einmal in seinem Programm aufrufen sollte).

Sie haben also zwei Möglichkeiten. Wenn Sie möchten, Scalaz verwenden 7.2 (die Sie sollten, wenn Sie andere Einschränkungen haben), eine Zeile wie diese in Ihren Build Config finden:

libraryDependencies += "org.http4s" %% "http4s-core" % "0.15.0" 

Und um dies zu ändern:

libraryDependencies += "org.http4s" %% "http4s-core" % "0.15.0a" 

Alternativ Sie könnte bei Scalaz 7.1 bleiben und nur Ihren Code ändern, um run zu verwenden.

Verwandte Themen