RE: RE: SteemJS中文手册
You are viewing a single comment's thread from:

RE: SteemJS中文手册

Words
38
Reading
1 min
Listen
Play
7y

先设一个时间点,再从这个时间点后查询出其所有文章。这用在同步文章方面很实用。

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()