我有一个调用API并返回String的方法。 API URI有一个page
参数,但我不知道有多少页。因此,我进行了无限次通话,直到结果为[]
。
def getRequest(page: Int): String = {
//takes page argument, constructs an uri, and returns the api results
}
//infinite call until api result == "[]"
val results = Stream.from(0).takeWhile(x => getRequest(x) != "[]").map(getRequest(x))
我注意到我的结果打了两次电话。一个用于流,然后一个用于地图。我该怎么写,这样才能不打两个电话?