2016-11-11 4 views
-1

ich einen Endpunkt in einem Spiel scala-Anwendung zu schreiben, die eine Anfrage über track, album und artist Typen Spotify macht, suchend. Ich möchte über sie hinweggehen und die Zeichenfolge in Future der Anrufe umwandeln.Scala - Bezeichner erwartet, aber ‚=>‘ gefunden

Dies ist mein Code:

def index = Action.async { implicit request => 
    val futures = List("track", "album", "artist") 
    .map { type => performSearch("q" -> param(request, "q"), "type" -> type) } 

    Future.sequence(futures).onComplete { 
    Ok 
    } 
} 

private def performSearch(criteria: (String, String)): Future = { 
    ws.url("https://api.spotify.com/v1/search") 
    .withQueryString(criteria) 
    .get() 
} 

private def param(request: Request[AnyContent], name: String): String = { 
    request.queryString.get(name).flatMap(_.headOption).getOrElse("") 
} 

Doch ich den Fehler in meiner Karte bekommen:

identifier expected but '=>' found // .map { type => performSearch("q" -> param(request, "q"), "type" -> type) }

Antwort

2

type ist ein Schlüsselwort. Wähle etwas anderes oder lege es hinein `:

.map { `type` => performSearch("q" -> param(request, "q"), "type" -> `type`) } 
Verwandte Themen