Javascript 如何使用异步/等待语法重写此请求?

Javascript 如何使用异步/等待语法重写此请求?,javascript,async-await,Javascript,Async Await,任务如下: 您需要对资源发出GET请求:使用fetch方法 将响应保存到response.json文件 仅保存idres.json()) 。然后(数据=>{ const defined=data.filter(item=>item.id{ 如果(错误){ 犯错误; } }); });await关键字只能在async函数中使用,因此您需要编写一个异步函数,使API请求获取数据 async function fetchData() { const response = await fetch(

任务如下:

  • 您需要对资源发出GET请求:使用fetch方法
  • 将响应保存到response.json文件
  • 仅保存id<20的项目
  • 我写的是:

    const fetch=require('node-fetch');
    常数fs=要求('fs');
    const path=require('path');
    const filePath=path.join(_dirname,'response.json');
    取('https://jsonplaceholder.typicode.com/posts')
    .then(res=>res.json())
    。然后(数据=>{
    const defined=data.filter(item=>item.id<20);
    const stringified=JSON.stringify(精化);
    appendFile(文件路径,字符串化,错误=>{
    如果(错误){
    犯错误;
    }
    });
    
    });
    await
    关键字只能在
    async
    函数中使用,因此您需要编写一个异步函数,使API请求获取数据

    async function fetchData() {
       const response = await fetch('https://jsonplaceholder.typicode.com/posts');
       const data = await response.json();
    
       const refined = data.filter(item => item.id < 20);
       const stringified = JSON.stringify(refined);
       
       // promise version of appendFile function from fs.promises API
       await fs.appendFile(filePath, stringified);
    }
    


    下面的代码片段可以帮助您(在节点v14中测试)

    const fetch=require(“节点提取”)
    常数fs=要求(“fs”)
    const path=require(“路径”)
    const filePath=path.join(\uu dirname,“response.json”)
    异步函数execute(){
    const res=等待获取(“https://jsonplaceholder.typicode.com/posts")
    const data=await res.json()
    const defined=data.filter((项)=>item.id<20)
    const stringify=JSON.stringify(精制)
    fs.appendFile(文件路径,字符串化,(错误)=>{
    如果(错误){
    失误
    }
    })
    }
    
    execute()
    const res=wait fetch('https://jsonplaceholder.typicode.com/posts“)
    const data=wait res.json()
    您的代码段有一条错误“消息”:“未捕获引用错误:未定义require”如果您否决投票,请添加一条评论,说明您为什么这样做,这是一个有效的答案,不值得否决投票。
    const stringified = JSON.stringify(refined);
    
    const stringified = JSON.stringify(refined, null, 4);