1. ホーム
  2. javascript

[解決済み] async-await from functionを使用して非同期関数から値を返すには?重複

2022-05-14 08:44:09

質問

非同期関数から値を返すにはどうしたらいいでしょうか? 私はこのようにしようとしました

const axios = require('axios');
async function getData() {
    const data = await axios.get('https://jsonplaceholder.typicode.com/posts');
    return data;
}
console.log(getData());

を実行すると、このように返されます。

Promise { <pending> }

どのように解決するのですか?

あなたは await 外にあるもの async のスコープを使用します。期待通りの結果を得るためには console.log を非同期IIFE、すなわち

async function getData() {
  return await axios.get('https://jsonplaceholder.typicode.com/posts');
}

(async () => {
  console.log(await getData())
})()

Working のサンプルです。

の詳細については async/await

以来 axios はプロミスを返します。 async/await は省略することができます。 getData のような関数があります。

function getData() {
  return axios.get('https://jsonplaceholder.typicode.com/posts');
}

で、先ほどと同じように

(async () => {
   console.log(await getData())
})()