2017-06-14 22 views
0

は私はjavascriptのクライアントシンプルSSEに取り組んで動作するはずです以下の様々な例を検討しています:サービススタックSSE JavaScriptクライアント - キャッチされない例外TypeError

var source = new EventSource(
     '/event-stream?channel=siteevent&t=' + new Date().getTime()); 

    source.addEventListener('error', function (e) { 
     console.log(e); 
     addEntry({ msg: "ERROR!", cls: "error" }); 
    }, false); 
    $.ss.eventReceivers = { "document": document }; 
    $(source).handleServerEvents({ 
     handlers: { 
      onHeartbeat: function (msg, e) { if (console) 
       console.log("onHeartbeat", msg, e); }, 
      onMessage: function (msg, e) { // fired after every message 
       console.log(msg); 
      } 
     }, 
     receivers: { 
      //... Register any receivers 
     } 
    }); 

それはエラーを生成します。すべてのハンドラを追加すると、同じエラーが発生します。

jqueryの2.1.1

Uncaught TypeError: fn.cal is not a function 
    at EventSource.onMessage (ss-utils.js:566) 

jQueryの3.1.xを

Uncaught TypeError: Cannot assign to read only property 'target' of object '#' at Function.r.extend.r.fn.extend (jquery.min.js:2) at EventSource.onMessage (ss-utils.js:511)

答えて

1

それは、fnをしなければならないライン566上のスクリプトが含まれて/js/ss-utils.jsにバグがありますfn.calの代わりに.call。サービススタック(コア)に含まれているjs SSEライブラリに問題がある場合に備えて、この回答を残しておきます。

+1

FYIこのタイプミスはv4.5.11で解決されました。これは[MyGetで利用可能](http://docs.servicestack.net/myget)です。 – mythz

+1

ありがとうございます。私は今日フォーラム/ githubのバグを報告するつもりだったが、すでに修正されてうれしい。私が報告したすべての問題(小さなもの)は、素晴らしい一日のうちに修正されました。 – lucuma

関連する問題