You are viewing a single comment's thread from:

RE: SteemJS开发的难与易

in #cn5 years ago

这样写就可以读取所有的文章了。

function getPosts(author, startPermlink = null, limit = 100, posts = []) {
    return new Promise((resolve, reject) => {
        let beforeDate = new Date().toISOString().split('.')[0];
        steem.api.getDiscussionsByAuthorBeforeDate(author, startPermlink, beforeDate, limit, function (err, result) {
            //console.log(result);
            if (result.length > 1) {
                posts = [...posts, ...result];
                getPosts(author, result[result.length - 1].permlink, limit, posts)
                .then(resolve)
                .catch(reject);
            } else {
                resolve(posts);
            }
        });
    });
}
Sort:  

太感谢村长大人了,这就试下!

村长,在重复取值时第一篇是重复的啊,怎么破

可以加一个逻辑,比如如果startPermlink是post的permlink,就忽略。

function getPosts(author, startPermlink = null, limit = 100, posts = []) {
    return new Promise((resolve, reject) => {
        let beforeDate = new Date().toISOString().split('.')[0];
        steem.api.getDiscussionsByAuthorBeforeDate(author, startPermlink, beforeDate, limit, function (err, result) {
            if (result.length > 1) {
                let newResult = [];
                result.forEach(post =>{
                    if(post.permlink!=startPermlink){
                        newResult.push(post);
                    }
                });
                posts = [...posts, ...newResult];
                getPosts(author, result[result.length - 1].permlink, limit, posts)
                .then(resolve)
                .catch(reject);
            } else {
                resolve(posts);
            }
        });
    });
}

完美!村长牛啊!

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.030
BTC 59317.93
ETH 2530.37
USDT 1.00
SBD 2.47