{#await data.myPromise}
{error?.message ?? \\\"Something went wrong\\\"}
{/await}По сути, именно так работает блок #await в svelte. Он отображает различное содержимое в зависимости от состояния обещания: индикатор загрузки при ожидании, результаты при разрешении и сообщение об ошибке в случае отклонения.
Но допустим, я хочу, чтобы определенная функция запускалась, когда обещание было выполнено или отклонено (например, тост).
Вот как вы можете запускать определенные функции, когда обещание разрешается или отклоняется:
{#await data.myPromise}{:then results}{showSuccess(results.length)} {#each results as result}
{error?.message ?? \\\"Something went wrong\\\"}
{/await}Теперь наша функция будет запускаться всякий раз, когда будет достигнут блок кода.
И еще кое-что...
Когда эти функции выполняются, любой возвращаемый текст будет отображаться в браузере, потому что это своего рода обходной путь. Синтаксис, который мы использовали, обычно предназначен для отображения возвращаемых строк/числа в браузере. Даже возврат ничего не вернет неопределенное значение по умолчанию. И эта строка (которая обычно не имеет смысла) будет отображаться конечному пользователю. Что-то вроде этого:
Не имеет смысла для конечного пользователя ?♂️?♀️
Поэтому обязательно возвращайте пустые строки или оберните функцию в скрытый блок:
В этом методе мы обязательно вернем пустые строки из наших функций.
{#await data.myPromise}{:then results}{showSuccess(results.length)} {#each results as result}
{error?.message ?? \\\"Something went wrong\\\"}
{/await}Это обеспечит возврат пустых строк.
--- Или ---
В этом методе вместо этого мы скроем функциональный блок в пользовательском интерфейсе, поэтому возвращаемый текст будет скрыт от глаз пользователя.
{#await data.myPromise}{:then results} {showSuccess(results.length)}{#each results as result}
{error?.message ?? \\\"Something went wrong\\\"}
{/await}Этот метод на основе CSS гарантирует, что возвращаемый текст будет скрыт от глаз.
HappyHacking
Перейти к содержимому:
Блок #await в svelte очень удобен для обработки асинхронных данных:
{#await data.myPromise}{:then results} {#each results as result}
{error?.message ?? "Something went wrong"}
{/await}По сути, именно так работает блок #await в svelte. Он отображает различное содержимое в зависимости от состояния обещания: индикатор загрузки при ожидании, результаты при разрешении и сообщение об ошибке в случае отклонения.
Но допустим, я хочу, чтобы определенная функция запускалась, когда обещание было выполнено или отклонено (например, тост).
Вот как вы можете запускать определенные функции, когда обещание разрешается или отклоняется:
{#await data.myPromise}{:then results} {showSuccess(results.length)} {#each results as result}
{error?.message ?? "Something went wrong"}
{/await}Теперь наша функция будет запускаться всякий раз, когда будет достигнут блок кода.
И еще кое-что...
Когда эти функции выполняются, любой возвращаемый текст будет отображаться в браузере, потому что это своего рода обходной путь. Синтаксис, который мы использовали, обычно предназначен для отображения возвращаемых строк/числа в браузере. Даже возврат ничего не вернет неопределенное значение по умолчанию. И эта строка (которая обычно не имеет смысла) будет отображаться конечному пользователю. Что-то вроде этого:
Не имеет смысла для конечного пользователя ?♂️?♀️
Поэтому обязательно возвращайте пустые строки или оберните функцию в скрытый блок:
В этом методе мы обязательно вернем пустые строки из наших функций.
{#await data.myPromise}{:then results} {showSuccess(results.length)} {#each results as result}
{error?.message ?? "Something went wrong"}
{/await}Это обеспечит возврат пустых строк.
--- Или ---
В этом методе вместо этого мы скроем функциональный блок в пользовательском интерфейсе, поэтому возвращаемый текст будет скрыт от глаз пользователя.
{#await data.myPromise}{:then results} {showSuccess(results.length)}{#each results as result}
{error?.message ?? "Something went wrong"}
{/await}Этот метод на основе CSS гарантирует, что возвращаемый текст будет скрыт от глаз.
HappyHacking
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3