我向后端rest服务发送GET请求,如下所示:
def showAllEmployees = Callback {
org.scalajs.dom.ext.Ajax.get(url = "http://localhost:8081/fetchAllEmployees").onComplete {
case Success(xhr) => {
Callback.log(xhr.responseText)
}
case Failure(t) => println("An error has occurred: " + t.getMessage)
}
}我想从响应中提取记录。我观察到case Success中的代码甚至没有被执行。
那么在scalajs-react中惯用的方式是什么呢?
发布于 2021-10-11 20:43:08
Callback中,这意味着为了执行它,你必须调用.runNow()Success响应的情况下,您正在执行Callback.log(xhr.responseText),这是需要再次求值的Callback,但由于您在返回Unit的onComplete中-这是不可能的。因此,以太做Callback.log(xhr.responseText).runNow()或只使用println工作示例:
def showAllEmployees =
Callback {
org.scalajs.dom.ext.Ajax
.get(url =
"https://run.mocky.io/v3/53993bf9-c589-4886-956b-e0b35a1ab13e"
)
.onComplete {
case Success(xhr) =>
Callback.log(xhr.responseText).runNow()
case Failure(t) => println("An error has occurred: " + t.getMessage)
}
}https://stackoverflow.com/questions/69432958
复制相似问题