使用filter限制 – instafeed.js

我正在使用instafeed.js的强大工具与instagram的api进行交互。 我目前正在尝试将结果过滤为image.type === 'video' 。 我能够让它工作。 唯一的问题是它永远不会满足limit:10套。 不知何故,它可能会拉动所有类型( imagevideo ),然后应用filter。 是否可以在仅为video应用filter时达到限制10

 var feed = new Instafeed({ limit: '10', sortBy: 'most-liked', resolution: 'standard_resolution', clientId: 'xxxxx', template:'
{{likes}} ♥ {{model.user.full_name}}
', filter: function(image) { return image.type === 'video'; } });

你是对的, filter总是 limit选项之后应用。

要解决这个问题,请尝试将limit设置为更高的数字,然后在事后删除额外的图像:

 var feed = new Instafeed({ limit: 30, sortBy: 'most-liked', resolution: 'standard_resolution', clientId: 'xxxxx', template:'
{{likes}} ♥ {{model.user.full_name}}
', filter: function(image) { return image.type === 'video'; }, after: function () { var images = $("#instafeed").find('div'); if (images.length > 10) { $(images.slice(10, images.length)).remove(); } } });

您还可以在Github上查看此主题以获取更多详细信息。