Вы передаете функцию-исполнитель конструктору обещания, то есть:
new Promise(function (resolve, reject) { ... })
Если эта функция вызывается конструктором обещания (что, да, так и будет), то остальное имеет оченьмало связано с тем, назначаете ли вы объект обещания чему-либо.Ваша функция была вызвана, и она не может быть остановлена, конечно же, из-за того, что вызывающий объект выходит из области видимости.
Итак, да, ваша функция-исполнитель гарантированно добьется прогресса.