在 NodeJS 中尝试使用 Axios 返回数据时获取 [Object Promise]

我正在尝试编写代码来以美元显示比特币的价值,它在控制台日志中运行良好,但是当我尝试将其返回到我的 app.post 时,它只是在屏幕上返回 [Object Promise],我尝试了相同的方法不使用 Async 和 Await,我得到同样的错误,但在控制台中显示 Promise Pending

const express = require("express");
const app = express();
const { res } = require("express");
const axios=require("axios");

app.use(express.json());
app.use(express.urlencoded({extended:true}));

app.get("/",function(req,res){
    res.sendFile(__dirname+"/index.html");
})

async function getUser(fiat) {
        try {
          const response = await axios.get("https://api.coindesk.com/v1/bpi/currentprice/"+fiat+".json")
          let data = response.data.bpi.USD.rate;
              console.log(data);
              return data;
          
        }
         catch (error) {
          console.error(error);
        }
      }
  
app.post("/",res){
    var fiat = req.body.fiat;
    let answer=getUser(fiat);
    res.write(" "+answer);
    res.send();
    res.end();
});

app.listen(3000,()=>{
    console.log("Server Started");
})
mengzai8888 回答:在 NodeJS 中尝试使用 Axios 返回数据时获取 [Object Promise]

在调用 getUser 之前你需要 await 也使这个函数异步

 let answer=await getUser(fiat);
,

复制粘贴

app.post("/",async function(req,res){ var fiat = req.body.fiat; let answer=await getUser(fiat); res.write(" "+answer); res.send(); res.end(); });
本文链接:https://www.f2er.com/2803.html

大家都在问