Async Await Classes

by dshilkret

JavaScript

class Test {
  constructor() {

  }

  async getSomething(value) {
		return new Promise(resolve => {
			setTimeout(() => resolve(value), 2000);
		});
  }
}

const t = new Test();

// can't use await out here because we're not in an async anything
const start1 = Date.now();

t.getSomething(33).then((v) => {
	console.log('got something', v)
  console.log('took ', Date.now() - start1, 'ms');
});

// we can use await in here though
const start2 = Date.now();

async function getSomethingAsynchronously() {
	console.log('got something', await t.getSomething(45));
  console.log('took ', Date.now() - start2, 'ms');
}

getSomethingAsynchronously();