我是scala和spray的新手。我能够中止来自 reactJS 的请求。并且它在浏览器控制台的网络选项卡中显示请求被取消。但是从 scala 开始,它并没有中止。在日志中我可以看到 api 被击中。对于 Rest API,我在 scala 中使用喷雾。这是我的 reactJS 代码:
new Promise((accept, _reject) => {
fetch("/api/complete", {
method: "post",
signal: controller.signal,
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(requestBody)
})
Ans 这是我的 scala 代码:
pathPrefix("complete") {
post {
entity(as[completeRequest]) { completeRequest =>
complete {
completeService()
}
}
}
}
def completeService(): Future[HttpResponse] = {
val pipeline: HttpRequest => Future[HttpResponse] = sendReceive ~> unmarshal[HttpResponse]
val response: Future[HttpResponse] = pipeline(Post(someremoteUrl.concat("complete"), botCompleteRequest)
~> addHeader("demo", "test"))
response
}
那么当它从 reactJS/promise 中止时如何中止这个完整的请求