Hey Alexander,
setFilter method of dataset returns promise that can be used to help with this, since it should be resolved once filter is applied.
$w('#dataset1')
.setFilter(wixData.filter().contains('title', title))
.then(() => {
// filter is set time to hide preloader
$w('#preloader').hide('FadeOut');
})
Let me know if it helps.
Best regards, Max