EU SEI QUE NÃO PARECE COMIGO!
setTimeout(function() {
console.log(1);
}, 1000);
setTimeout(function() {
console.log(2);
}, 500);
console.log(3);
console.log('running');
const firstPromise = new Promise(resolve =>
setTimeout(() => resolve(1), 500)
);
const secondPromise = new Promise(resolve =>
setTimeout(() => resolve(2), 3000)
);
const promiseGenerator = (number) =>
new Promise(resolve =>
setTimeout(() => resolve(number), 2000)
);
Promise.all([
firstPromise,
secondPromise
])
.then((responses) => console.log(responses))
.then(() => promiseGenerator(3))
.then((result) => console.log(result))
console.log('fim do programa');
PS: ExpressJS Existe antes disso
console.log('running');
const asyncFunction = async () => {
console.log('começo async');
const firstResult = await firstPromise();
console.log(firstResult);
const secondResult = await secondResult();
console.log(secondResult);
console.log('fim async');
};
asyncFuntion();
console.log('fim programa');
function* foo() {
let index = 0;
while (index <= 2)
yield index++;
}
const iterator = foo();
console.log(iterator.next()); // { value: 0, done: false }
console.log(iterator.next()); // { value: 1, done: false }
console.log(iterator.next()); // { value: 2, done: false }
console.log(iterator.next()); // { value: undefined, done: true }
$ npm install -s koa
const Koa = require('koa')
const app = new Koa()
app.use( context =>
context.body = 'Hello Koa'
)
app.listen(3000)
context = {
request: {
method: '',
url: '',
header: {},
body: {},
...
},
body: '',
status: 0,
...
};
this <= context.request
(Cuidado com arrow functions nesse caso)
app.use(async (context, next) => {
console.log('teste 1');
await next();
console.log('teste 5');
});
app.use(async (context, next) => {
console.log('teste 2');
await next();
console.log('teste 4');
});
app.use((context) => {
console.log('teste 3');
});
$ npm install -s koa-router
const router = require('koa-router')();
router.get('/:id', (context, next) => ... );
app.use(router.routes())