先设一个时间点,再从这个时间点后查询出其所有文章。这用在同步文章方面很实用。
function getPostsFromSteem(author, startPermlink, limit, posts, startTime){
//传入要查询的作者名,初始标签,一次查询的条数,初始化数组, 起始时间
return new Promise((resolve, reject) => {
let beforeDate = new Date().toISOString().split('.')[0]
this.steem.api.getDiscussionsByAuthorBeforeDate(author, startPermlink, beforeDate, limit, (err, result) => {
let newResult = []
result.forEach(post => {
if (post.permlink !== startPermlink) {
newResult.push(post)
}
})
posts = [...posts, ...newResult]
if (result.length > 1 && result[result.length - 1].created > startTime) {
this.getPostsFromSteem(author, result[result.length - 1].permlink, limit, posts, startTime)
.then(resolve)
.catch(reject)
} else {
resolve(posts)
}
})
})
}
//调用
let _this = this
let author = "lemooljiang"
let startTime = "2020-01-06T01:59:45"
async function main(){
let steemposts = await _this.getPostsFromSteem(author, null, 10, [], startTime)
console.log(12345, steemposts)
}
main()
RE: SteemJS中文手册