Если делаете на чистом JavaScript, то пишите функцию замыкания, если это на Vue, React, Angular, там немного свой подход. Вы ведь перерисовываете DOM, когда делаете клик, соответственно надо понимать, где происходит эта перерисовка.
Функция обязательно должна быть асинхронная, когда получаешь промисы, пропускай их через await, проверяй то что присылает коллбэк {sort ? sort : 'Loading...'}