【发布时间】:2015-07-21 12:07:04
【问题描述】:
在使用 tumblr API 构建项目时,
var latest = [];
client.posts('XXXXXX', function (err, blog) {
for (var i = 0; i <
blog.posts.length; i++) {
var post = blog.posts[i];
// this condition is used to identify if any blog post is dated no later than 7 days.
if ((new Date().valueOf() - Date.parse(post.date)) /(1000*60*60*24) <= 7){ latest.push(post);
/ / console.log(post);
}
};
});
console.log(latest)
latest 是一个变量,用于存储满足条件的任何博客文章对象。当取消注释 console.log(post) 时,命令行打印 post 对象如下:
{ blog_name: '......',
id: ......,
post_url: '......',
slug: '......',
type: 'text',
date: '2015-07-20 16:42:30 GMT',
timestamp: ....,
state: 'published',
format: 'html',
reblog_key: '.....',
tags: [],
short_url: '.......',
recommended_source: null,
followed: false,
highlighted: [],
liked: false,
note_count: 0,
title: '.....',
body:.......}
但是,对于 console.log(latest),命令行打印 []。为什么 latest 在这里返回一个空数组?
【问题讨论】:
-
看起来
client.posts()是一个异步方法...在这种情况下,您尝试的方法将不起作用...您需要在回调方法中添加console.log()。跨度>
标签: javascript node.js tumblr template-engine ejs