提问者:小点点

如何使用async/await重构以下代码段


import { get } from "request";
import { writeFile } from "fs";

get(
  "https://en.wikipedia.org/wiki/Async/await",
  (requestErr, response, body) => {
    if (requestErr) {
      console.error(requestErr);
    } else {
      writeFile("async.js", body, writeErr => {
        if (writeErr) {
          console.error(writeErr);
        } else {
          console.log("File written");
        }
      });
    }
  }
);

根据我的理解,writeFile函数需要异步启动,因为它需要等待get函数首先完成(获取URL)。 然而,我真的不确定如何重构它。


共1个答案

匿名用户

找这样的东西?

const axios = require("axios");
const fs = require("fs");

const fetchAndWrite = async () => {
  try {
    const { data } = await axios.get(
      "https://en.wikipedia.org/wiki/Async/await"
    );
    return fs.writeFileSync("/some_directory/async-await.html", data);
  } catch (error) {
    // something bad happened...
  }
};

fetchAndWrite();