JSFiddle - React, Tailwind, and code Playground
by fastfasterfastest
HTML
<script src="https://knockoutjs.com/downloads/knockout-3.5.0.js"></script>
JavaScript
let isError = () => false;
let isSuccess = () => true;
let isLoading = ko.observable(false);
let isLoadingOrError = ko.computed(() => { console.log(Date.now() + ' - isLoadingOrError'); return isLoading() || isError(); }).extend({ rateLimit: 50});
let isLoadingOrSuccess = ko.computed(() => { console.log(Date.now() + ' - isLoadingOrSuccess'); return isLoading() || isSuccess(); });
let count = 0;
let intervalId = setInterval(() => {
++count;
if(count > 100){
clearInterval(intervalId);
}
isLoading(!isLoading());
}, 1);