首页 > 解决方案 > 如何在 Node.js 的异步函数之外使用变量?

问题描述

我正在尝试bida在代码的其他地方使用该变量。例如,当我尝试创建变量mida. 有没有办法在不将所有内容嵌套在getFX()函数中的情况下做到这一点?我知道这是一个异步函数问题,但我该如何解决呢?

const fetch = require("node-fetch");

async function getFX() {

let bida;

  try {

    var req = await fetch('https://economia.awesomeapi.com.br/all/USD-BRL');
    var response = await req.json()


   bida = await response.USD.bid;
   aska = await response.USD.ask;

    console.log(bida, aska)

  } catch (e) {
    // handle error
    console.error(e)
  }
}

getFX()

var mida = bida + 1;

console.log (mida);

标签: javascriptnode.js

解决方案


您应该在 getFX() 函数之外初始化 bida 变量,以便能够在该文件的其他位置访问它,并且仅在 getFX 使用 .then() 解析时才设置 mira 变量的值,以便能够使用 bida 的值因为 getFX 是一个异步函数。这是我的做法:

const fetch = require("node-fetch");

let bida;

async function getFX() {


    try {

       var req = await fetch('https://economia.awesomeapi.com.br/all/USD-BRL');
       var response = await req.json()


       bida = await response.USD.bid;
       aska = await response.USD.ask;

       console.log(bida, aska)

    } catch (e) {
        // handle error
        console.error(e)
    }
}


getFX().then(() => {
    var mida = bida + 1;
    console.log (mida);
})

希望能帮助到你 !


推荐阅读