SteemJiang在发布时会出现一个文章时间不同步的问题,如下图所示:
如上所示,虽是同一篇文章,但发布的时间却是相差几秒,在SteemJiang上就会被判断为两篇文章!
这是什么原因造成的呢? 找想了下,发现是文章同步到Steem上时的延时造成的!
SteemJiang上发布文章的机制是:文章先存储在前端数据库,同时同步到Steem上。问题就出在Steem上是要花费大约3秒的时间,因此会造成一篇文章的创建时间不一致!
解决的办法就是做一次去重,以文章的permlink做为唯一的标识即可!
部分代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
let latestPostFlag = posts[0].created
let permlinkList = [] posts.forEach(item => { permlinkList.push(item.permlink) })
let author = _this.$store.state.username let beforeDate = new Date().toISOString().split('.')[0] let newposts = [] let startPermlink = null while(true){ let result = await _this.steem.api.getDiscussionsByAuthorBeforeDateAsync(author, startPermlink, beforeDate, 10) if (latestPostFlag < result[0].created && permlinkList.indexOf(result[0].permlink) === -1 ) { result.forEach(post => { if (post.permlink !== startPermlink && permlinkList.indexOf(post.permlink) === -1 ) { newposts.push(post) } }) startPermlink = result[result.length - 1].permlink if(latestPostFlag > result[result.length - 1].created){ console.log(233, '没有更新的文章') break } }else{ break } } if(newposts.length > 0){ await _this.savePosts(db, newposts) console.log(544, '添加新文章成功!') let posts2 = await _this.getAllPosts(db) _this.$store.commit('savePosts', posts2.reverse()) }
|
This page is synchronized from the post: ‘SteemJiang发布上的小问题’