Node.js 如何在javascript中使请求等待?

Node.js 如何在javascript中使请求等待?,node.js,asynchronous,request,Node.js,Asynchronous,Request,嗨,我正在尝试通过OpenWheatherAPI获取天气信息,并将其发布到网页上。 然而,在测试过程中,我发现了一个可能导致问题的部件 var my_weather = {}; request.get( "http://api.openweathermap.org/data/2.5/weather?lat=37.3578631&lon=126.9395806&appid=40e3257323ba173186324d66fac45a1f", functi

嗨,我正在尝试通过OpenWheatherAPI获取天气信息,并将其发布到网页上。 然而,在测试过程中,我发现了一个可能导致问题的部件

var my_weather = {};
request.get(
  "http://api.openweathermap.org/data/2.5/weather?lat=37.3578631&lon=126.9395806&appid=40e3257323ba173186324d66fac45a1f",
  function (req, res) {
    data = JSON.parse(res.body);
    my_weather.weather_main = data.weather[0].main;
    my_weather.temp = Math.round(data.main.temp - 273);
    my_weather.humidity = data.main.humidity;
    console.log(my_weather);
  }
);

console.log(my_weather);

执行此代码时,在请求函数中的console.log()之前执行外部console.log(),并显示一个空对象。如何等待天气被保存在上面的代码中,然后执行下面的代码。有吗?我尝试使用async await,但它不起作用,请告诉我您需要如何使用async await,可以找到更多信息。

谢谢您的帮助!您不能让Javascript“等待”非阻塞异步操作(如网络请求)完成。相反,您必须使用回调、承诺或事件将完成情况反馈给调用方。同时,函数将在异步操作完成之前返回,调用方将使用回调、承诺或事件来知道操作何时完成以及最终结果是什么。请看你的问题标记为的重复项,了解你的选项的完整说明。我会根据你所说的内容了解更多谢谢