2016-05-16 97 views
0

我試圖與RxJS一個基本的例子上Array.observe,但我發現了一個錯誤,指出:RxJS - 不支持你的平臺

rx.all.js:2880 Uncaught TypeError: Array.observe is not supported on your platform

這是我的代碼現在:

<!DOCTYPE html> 
<html> 
<head> 


<script src="node_modules/rx/dist/rx.all.js"></script> 

<script> 
    var array = []; 

    var observable = new Rx.Observable.ofArrayChanges(array); 

    observable.subscribe((res) => { 
     console.log(res.object[res.index]); 
    }); 

    setInterval(() => { 
     array.push(Math.random()); 
    }, 1000); 
</script> 


</head> 
<body> 
</body> 
</html> 

你能想到爲什麼會發生這種情況嗎?

回答

2

ofArrayChanges僅僅是圍繞着Array.observe功能的薄包裝,這是一項實驗性技術方案,此後被拒絕並將在未來取消。

參見:http://caniuse.com/#feat=object-observe

正如你所看到的功能才真正存在了鍍鉻的3個版本和歌劇1,因此,如果您的應用程序的那個(可能是一個安全的假設)之外使用,那麼你可能會需要改變你的方法。

+3

對,那麼我會採取什麼樣的方法? – Illinois47

+0

檢查 https://mail.mozilla.org/pipermail/es-discuss/2015-November/044684.html –

+0

我已經看到Rx.Observable.ofArrayChanges()(例如)在教學課程教材中使用,所以要小心樣本代碼給你這個例外。從它的消亡看來,這是任何人都找到的唯一有用的目的。 – mikee