Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to achieve automatic refresh effect in javascript Observer Mode

Shulou Source: shulou.com Published: 2022-05-31 11:50:25 09月29日 Update

Most people do not understand the knowledge points of this article "javascript Observer Mode how to achieve automatic refresh effect", so the editor summarizes the following content, detailed content, clear steps, and has a certain reference value. I hope you can get something after reading this article. Let's take a look at this "javascript Observer Mode how to achieve automatic refresh effect" article.

The specific code is as follows

/ / author wangbinandi@gmail.comconst observable = obj = > {const observers = Symbol (); const set = function (target, key, value) {const result = Reflect.set (target, key, value); / / console.log ("set key:" + key); if (target [observers] .has (key)) {targets [observers] .get (key) .forEach (observer = > observer ());} return result } const get = function (target, key) {const result = Reflect.get (target, key); / / console.log ("get key:" + key); if (arguments.callee.caller) {if (! target [observers] .has (key)) {target [observers] .set (key, new Set ())} target [observers] .get (key) .add (arguments.callee.caller);} return result } obj [observers] = new Map (); / / string = > Set () return new Proxy (obj, {set, get});}; const autorun = fn = > fn (); var person = observable ({firstName: 'Matt', lastName:' Ruby', age: 18, weight: 50}); autorun () {console.log ('autorun.getAge:' + person.firstName +''+ person.age);}) Autorun (function () {console.log ('autorun.getName:' + person.firstName +''+ person.lastName);}); person.age = 19 person.weight = 55 person.lastName person.firstName = 'test';person.lastName =' MyLast';console.log (person.lastName); person.age = 20 The above is the content of this article on "how to achieve automatic refresh effect in javascript Observer Mode". I believe we all have some understanding. I hope the content shared by the editor will be helpful to you. If you want to know more related knowledge, please pay attention to the industry information channel.

Tags: Content effects patterns observers observations articles knowledge articles code value most that is more steps knowledge points industry information information channels channels help Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS OPPO Reno Shulou Information Apple Shulou Tech Info