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