Chromecast CAF接收器,关闭对http请求的处理

Chromecast CAF接收器,关闭对http请求的处理,chromecast,google-cast,custom-receiver,Chromecast,Google Cast,Custom Receiver,先读一些背景知识:) 我正在用CAF SDK做一个自定义接收器 通过类似的关闭处理,我尝试在回调中发送一些http请求,如: receiver.addEventListener( cast.framework.system.EventType.SHUTDOWN, e => { // some http requests HttpHandler.post(url, somePayload); HttpHandler.pos

先读一些背景知识:)

我正在用CAF SDK做一个自定义接收器

通过类似的关闭处理,我尝试在回调中发送一些http请求,如:

receiver.addEventListener(
    cast.framework.system.EventType.SHUTDOWN,
    e => {
         // some http requests
         HttpHandler.post(url, somePayload);
         HttpHandler.post(anotherUrl, someOtherPayload);
         ....... (more requests to go)
    });
但是,我不能保证这些请求会到达目的地,因为接收方应用程序将随时终止(可能不到1秒)。事实证明,这些请求也没有到达目的地

据我所知,没有办法推迟关闭带有CAF SDK本身的接收器应用程序


有解决办法吗?有没有办法在CAF SDK的帮助下推迟关机

答案似乎很简单:将所有http请求都转换为同步

缺点也很明显,同步请求会阻塞线程。当一个请求由于未知原因挂起在某个位置的中间时,除非强制关闭,否则脚本将永远被阻止


仍然在寻找更好的方法来改进它。

我做了更多的研究,结果证明你也可以使用

window.addEventListener("beforeunload", e => {
    ...
    });
而不是

receiver.addEventListener(
    cast.framework.system.EventType.SHUTDOWN,
    e => { 
    ...
    });

唉,这无助于确保回调中的所有内容都已执行:beforeunload回调将以与关机处理程序相同的方式终止。

Hi@Tom,我需要chrome cast receiver的帮助,我无法接收来自发送方的消息,调试时,我发现日志使用默认名称空间,即使我使用了自定义名称空间。你能帮我一下吗?谢谢