From a3c76c5eab7127a2b83c7bb5c1c7727e4a3f2219 Mon Sep 17 00:00:00 2001 From: Milk Lee Date: Sun, 6 Sep 2015 14:29:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=A7=E8=83=BD=E6=8F=90=E5=8D=87=EF=BC=9AOb?= =?UTF-8?q?ject.freeze=20=E6=98=AF=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84?= =?UTF-8?q?=EF=BC=8C=E5=9B=A0=E4=B8=BA=E6=AF=8F=E4=B8=AA=20listener=20?= =?UTF-8?q?=E5=BE=97=E5=88=B0=E7=9A=84=E5=AF=B9=E8=B1=A1=E9=83=BD=E6=98=AF?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=96=B0=E5=AF=B9=E8=B1=A1=EF=BC=8C=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=E4=BA=86=E4=B9=9F=E4=B8=8D=E4=BC=9A=E5=BD=B1=E5=93=8D?= =?UTF-8?q?=E5=85=B6=E4=BB=96=20listener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- release/chrome-storage.js | 9 ++++----- src/chrome-storage.es6 | 9 ++++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 84bfeb4..bd7d1d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name" : "chrome-storage-wrapper" , - "version" : "0.1.1" , + "version" : "0.1.2" , "description" : "A tiny wrapper for chrome.storage that using Promise." , "author" : { "name" : "Milk Lee" , diff --git a/release/chrome-storage.js b/release/chrome-storage.js index 1df304d..6c64dff 100644 --- a/release/chrome-storage.js +++ b/release/chrome-storage.js @@ -177,8 +177,8 @@ * 删除一个监听函数 * @param {Function} listener */ - removeChangeListener: function removeChangeListener(listener) { - var index = changeCallbacks.indexOf(listener); + removeChangeListener: function removeChangeListener(newListener) { + var index = changeCallbacks.indexOf(newListener); if (index >= 0) { changeCallbacks.splice(index, 1); } @@ -214,9 +214,8 @@ customChanges[key] = changes[key].newValue; } - // 防止对象在回调里被修改,因为这会导致其它回调也收到修改后的对象 - changeCallbacks.forEach(function (listener) { - listener(Object.freeze(customChanges), area); + changeCallbacks.forEach(function (newListener) { + newListener(customChanges, area); }); }); diff --git a/src/chrome-storage.es6 b/src/chrome-storage.es6 index f286366..1a12f95 100644 --- a/src/chrome-storage.es6 +++ b/src/chrome-storage.es6 @@ -187,8 +187,8 @@ * 删除一个监听函数 * @param {Function} listener */ - removeChangeListener ( listener ) { - const index = changeCallbacks.indexOf( listener ); + removeChangeListener ( newListener ) { + const index = changeCallbacks.indexOf( newListener ); if ( index >= 0 ) { changeCallbacks.splice( index , 1 ); } @@ -202,9 +202,8 @@ customChanges[ key ] = changes[ key ].newValue; } - // 防止对象在回调里被修改,因为这会导致其它回调也收到修改后的对象 - changeCallbacks.forEach( ( listener ) => { - listener( Object.freeze( customChanges ) , area ); + changeCallbacks.forEach( ( newListener ) => { + newListener( customChanges , area ); } ); } );