鍍金池/ 問答/HTML/ 瀏覽器取消http請(qǐng)求(canceled),服務(wù)器如何判斷呢?

瀏覽器取消http請(qǐng)求(canceled),服務(wù)器如何判斷呢?

服務(wù)器是koa2,我如何獲取客戶端取消了請(qǐng)求的操作?

clipboard.png

回答
編輯回答
扯機(jī)薄

http請(qǐng)求是典型的請(qǐng)求/響應(yīng)模型。

發(fā)送了就是發(fā)送了, 接受了就是接受了。假如我發(fā)了一個(gè)請(qǐng)求到后端,后端又接受一個(gè)取消的請(qǐng)求。 后臺(tái)邏輯怎么寫? 就會(huì)亂套了。

如果你非要監(jiān)聽這種情況,可以在req.close中監(jiān)聽

因此`不存在后端取消的說法,所謂的取消只是前端單方面的不去處理這個(gè)請(qǐng)求的響應(yīng),換句話說就是
注銷這個(gè)請(qǐng)求的回調(diào)函數(shù),后端一般是不會(huì)對(duì)這個(gè)取消作出處理的 `

2018年7月18日 09:03
編輯回答
維他命

算是瀏覽器單方面違約,請(qǐng)求或者是沒發(fā)出來,或者是被瀏覽器拒收,但無論哪種都不是服務(wù)器能感知到的。

另外不知道你這是什么場(chǎng)景引發(fā)的問題?

2017年9月30日 20:51
編輯回答
喵小咪

問題已經(jīng)解決。

如果連接中斷,服務(wù)器端也是可以判斷的。
詳情請(qǐng)參考這里

我是這樣寫的:

  ctx.req.on('close', () => {
    // ...
  })
2017年10月5日 13:12