Babel.js是否支持ES6 Object.observer()方法?

时间:2017-06-18 06:20:07

标签: javascript ecmascript-6 babeljs

在官方site上找不到任何相关信息。据我所知,这种方法不支持这一时刻?

提前致谢。

1 个答案:

答案 0 :(得分:1)

不,Babel没有涵盖import java.util.ArrayList; import java.util.List; public class ThreadSynchronization { public static int i = 1; public static final int maxThreads = 10; public static void main(String[] args) { List<Object> list = new ArrayList<>(); for (int i = 0; i < maxThreads; i++) { list.add(new Object()); } Object currObject = list.get(maxThreads - 1); for (int i = 0; i < maxThreads; i++) { Object nextObject = list.get(i); RunnableClass1 a = new RunnableClass1(currObject, nextObject, i == 0 ? true : false); Thread th = new Thread(a); th.setName("Thread - " + (i + 1)); th.start(); currObject = list.get(i); } } } class RunnableClass implements Runnable { private Object currObject; private Object nextObject; private boolean firstThread; public RunnableClass(Object currObject, Object nextObject, boolean first) { this.currObject = currObject; this.nextObject = nextObject; this.firstThread = first; } @Override public void run() { int i = 0; try { if (firstThread) { Thread.sleep(5000); firstThread = false; System.out.println(Thread.currentThread().getName() + " - " + ThreadSynchronization.i++); synchronized (nextObject) { nextObject.notify(); } } while (i++ < Integer.MAX_VALUE) { synchronized (currObject) { currObject.wait(); } System.out.println(Thread.currentThread().getName() + " - " + ThreadSynchronization.i++); Thread.sleep(1000); synchronized (nextObject) { nextObject.notify(); } } } catch (Exception e) { e.printStackTrace(); } } } ,也不会在未来。 Object.observe不是ES6的一部分,并且已从提案流程中删除。如果需要以编程方式访问对象的属性处理,则需要使用带处理程序的ES6 Object.observe对象来实现您要查找的行为。

Babel也没有实现Proxy,因为它需要无法进行多层填充的引擎级功能。