Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何让node js在执行以下代码之前发送axios请求_Node.js - Fatal编程技术网

Node.js 如何让node js在执行以下代码之前发送axios请求

Node.js 如何让node js在执行以下代码之前发送axios请求,node.js,Node.js,我正在编写代码,以便从新闻API接收新闻,并根据cron jobs每天向我发送带有头条新闻的电子邮件 我需要先接收数据,然后将其映射到一个变量中,我添加了async await,但由于某些原因它无法工作 如果您运行此代码,它将只打印“在摘要之前”,就是这样 它不会进入if条件,但是我让async等待,所以服务器首先响应,然后继续执行代码,并有“news”进行总结 const cron = require("node-cron"); const express = require("express

我正在编写代码,以便从新闻API接收新闻,并根据cron jobs每天向我发送带有头条新闻的电子邮件

我需要先接收数据,然后将其映射到一个变量中,我添加了async await,但由于某些原因它无法工作

如果您运行此代码,它将只打印“在摘要之前”,就是这样

它不会进入if条件,但是我让async等待,所以服务器首先响应,然后继续执行代码,并有“news”进行总结

const cron = require("node-cron");
const express = require("express");
const moment = require("moment")
const axios = require("axios")
app = express();
var news;
app.listen("3000")

//I removed my API key from the code and wrote 'MYAPIKEY'.
async function getNews(){
  let response = await axios.get('https://newsapi.org/v2/everything?q=bitcoin&from=2018-11-12&sortBy=publishedAt&apiKey=MYAPIKEY')
  .then( response =>
    news = response.data.articles
    )

}

getNews()
console.log('Before summary')
if (news) {
var summary = news.map( newsItem =>   newsItem.title )
console.log(summary)
}

如果您使用的是
async

async function getNews() {
    try {
        let response = await axios.get('https://newsapi.org/v2/everything?q=bitcoin&from=2018-11-12&sortBy=publishedAt&apiKey=MYAPIKEY');
        var news = response.data.articles;
        if (news) {
            var summary = news.map(newsItem => newsItem.title) console.log(summary)
        }
    } catch (err) {
        console.error(error);

    }
}
getNews();