Async/Await func 不等待 console.log 它的响应

Jos*_*eau 7 javascript asynchronous node.js async-await axios

我正在尝试创建一个异步函数并将它的响应保存到一个变量,然后 console.log 该变量,但它是 console.logging 在异步函数完成之前的响应。

import axios from 'axios';

async function getItems() {
  const response = await axios.get(SOME_URL);
  console.log('done', response);
  return response;
}

const items = getItems();
console.log('items: ', items);
Run Code Online (Sandbox Code Playgroud)

我希望日志看起来像这样:

// Expected result
done: {...result...}
items: {...items...}
Run Code Online (Sandbox Code Playgroud)

但我实际得到的是:

// ACTUAL result
items: Promise {<pending>}
done: {...result...}
Run Code Online (Sandbox Code Playgroud)

我想等到请求完成后再继续下面我对getItems.

我错过了什么?

Nit*_*ang 6

由于“ getItems”是异步调用,因此您将在“.then”中获得如下结果

import axios from 'axios';

async function getItems() {
  const response = await axios.get(SOME_URL);
  console.log('done', response);
  return response;
}

getItems().then(items => console.log('items: ', items))
Run Code Online (Sandbox Code Playgroud)