Создание асинхронной функции, которая запускается при загрузке определенной страницы

#javascript #php #asynchronous

#javascript #php #асинхронный

Вопрос:

Я пытаюсь создать асинхронную функцию, которая запускается при загрузке определенных страниц, и ей также необходимо получить новейший индекс из базы данных .txt array.

 var latestReceivedTweetId = 0 // 47

window.onload(async function(){
  // let connection = await fetch('api-get-latest-tweets.php?latestReceivedTweetId=' latestReceivedTweetId)
  let connection = await fetch(`api/api-get-latest-tweets.php?latestReceivedTweetId=${latestReceivedTweetId}`)
  console.log(connection)
  if(connection.status != 200){
    alert('Something is wrong in the system')
  }

  let sTweets = await connection.text()
  let aTweets = JSON.parse(sTweets) // PHP json_decode

  for(var i = 0; i < aTweets.length; i  ){
    latestReceivedTweetId = aTweets[i].id
    var divTweet = `
    <div class="tweet" id="${aTweets[i].id}">
      <p>${aTweets[i].title}</p>
      <p>${aTweets[i].message}</p>
      <button>delete</button>
    </div>`     
    document.querySelector("#tweets").insertAdjacentHTML('afterbegin', divTweet)
  }
  console.log('latestReceivedTweetId', latestReceivedTweetId)


})
  

БД создается следующим образом

 [{"id":"5f5f47b2d8f8f","title":"Hello World","message":"This is a tweet","userId":"5f59ff729184f"},{"id":"5f5fae2aa62b5","title":"New Tweet","message":"This is a new tweet","userId":"5f59ff729184f"},{"id":"5f5fae2cbb02b","title":"New Tweet","message":"This is a new tweet","userId":"5f59ff729184f"},{"id":"5f5fb14bebbc8","title":"Hello World","message":"This is a tweet","userId":"5f59ff729184f"}]
  

Если требуется дополнительная информация о коде, просто спросите, и я могу сослаться на github с проектом.

Комментарии:

1. почему бы не сделать await connection.json() вместо text() затем parse? что не работает?

2. Он не помещает «твит» на страницу твитов. У меня это работало, когда я установил интервал, но затем он продолжал выполнять интервал, поэтому я пытался заставить его запускать только те скрипты, которые загружены на странице.

3. Я думаю, что загрузка неправильная, не так ли window.onload = async function() {