我目前正在尝试格式化Twitter API日期,但我不确定如何访问它并在快递路由器中将其重新发送为数据,然后在Jade文件中使用。
router.get('/', (req, res, next) => {
client.get('statuses/user_timeline', params, function (error, tweets, response) {
Promise.all([
getArticles(),
getInstas()
])
.then(data => res.render('pages/news-centre/home', {
articles: data[0].slice(0, 4),
tweets: tweets,
instagram: data[1].data
}))
.catch(next)
})
})
我正在使用来自npm的Twitter API Client。我从utilitys.js
文件中的promises获取我的instagram和文章json数据。
我可以通过#{tweets[i].created_at}
使用jade访问twitter日期,但是我想在我之前使用moment.js格式化它们。
如果有人能指出我正确的方向我会有点失落,那会很棒。
答案 0 :(得分:1)
在不知道tweets
中的内容格式的情况下很难确定,但你应该这样做:
.then(data => res.render('pages/news-centre/home', {
articles: data[0].slice(0, 4),
tweets: tweets.map(tweet => ({
text: tweet.text,
created_at: moment(tweet.created_at, INPUT_FORMAT).format(OUTPUT_FORMAT),
// etc, grab the rest of the fields you need
})),
instagram: data[1].data
}))
从技术上讲,您还可以修改原始tweet
对象以包含created_at_formatted
属性(或其他内容),然后返回tweet
,但这在技术上有点像反模式。如果您不想从tweet
对象中选择所需的每个属性,那么可能是一个快速解决方案。