wix-data function does not work after publishing

I have the below code and it works find in the web-site preview but does not work after website publishing (inside wix, haven’t tried for the real domain).
setInterval works, I checked but wixData.query - no. Only inside preview. What can it be?

import wixData from 'wix-data';

$w.onReady(function () {

setInterval(function () {
    
wixData.query("userCount")
  .find()
  .then( (results) => {
   
      let usersDb = results.items[0].users;
      // console.log(usersDb);
      let newUsersNumber = Math.round(parseInt(usersDb) + Math.random()*150);
      let toSave = {'users' : newUsersNumber.toString()}
      wixData.save("userCount", toSave).then( (results) => {
            let badge = $w('#text47');
            $w("#text47").text = newUsersNumber.toString();// make it text
            let item = results;
            // console.log(item); //see item below
          } )
          .catch( (err) => {
            let errorMsg = err;
  } );
  } )
  .catch( (err) => {
    let errorMsg = err;
    console.log(errorMsg)
  } );
}, 1000); });
  1. You’re missing a return:
    return wixData . save ( “userCount” , toSave ). then(//…
  2. Check the collection permissions.
  3. Make sure the LIVE collection is synced and up to date.

UPDATE: don’t just add the return. You should also make them chained insted of nested. Like:

wixData.query("userCount")
  .find()
  .then( (results) => {
   
      let usersDb = results.items[0].users;
      // console.log(usersDb);
      let newUsersNumber = Math.round(parseInt(usersDb) + Math.random()*150);
      let toSave = {'users' : newUsersNumber.toString()}
      return wixData.save("userCount", toSave);
})
.then( (results) => {
            let badge = $w('#text47');
            $w("#text47").text = newUsersNumber.toString();// make it text
            let item = results;
            // console.log(item); //see item below
          } )
          .catch( (err) => {
            let errorMsg = err;
  	console.log(errorMsg)
  } );
//DELETE THE FOLLOWING PART:
  } )
  .catch( (err) => {
    let errorMsg = err;
    console.log(errorMsg)
  } );