vercel / micro

Asynchronous HTTP microservices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Await issue: do I miss something in concept?

greenais opened this issue · comments

Here is my simple worker code and its outputs afer request:

const worker = micro(async (req, res) => {
  let data = await json(req);
  console.log(data)            // {counter: 1, go: true}
  let go = data.go;
  console.log(go)           // undefined
  return 'Hello world'
})

worker.listen(port);

Why go is undefined? Shouldn't code after await execute after await is resolved - as for first console.log(data) ?

const micro = require('micro')
const {json} = micro
const worker = micro(async (req, res) => {
  let data = await json(req);
  console.log(data)            // {counter: 1, go: true}
  let go = data.go;
  console.log(go)           // undefined
  return 'Hello world'
})

worker.listen(3000);

Output:

{ counter: 1, go: true }
true

Works fine when I run it 🤔