Свойство модели не обновлено для JavaScript - PullRequest
0 голосов
/ 29 мая 2019

Работая над своим заданием MVC, я столкнулся с необходимостью сообщать JavaScript, когда некоторые данные готовы.Я пытался сделать это, назначив модель представлению и вызвав @Model.property_name в JavaScript, но похоже, что всякий раз, когда я вызываю @Model.property_name, значение этого bool не обновляется, даже если модель обновляласьэто в фоновом режиме.

Вот код:

Модель

public class saveModel
    {
        public bool dataReady;
        // Members

        public void SaveRoute()
        {
            // Stuff

            // Finally, changing the bool
            dataReady = true;
        }
    }

Вид

// Stuff
<script>
        function sleep(ms) {
            return new Promise(resolve => setTimeout(resolve, ms));
        }

        async function checkDataReady()
        {
            var ready = @Json.Encode(Model.dataReady);
            while (ready != true) {
                console.log(ready);
                console.log("Sleeping");
                await sleep(3000);
                ready =  @Json.Encode(Model.dataReady);
            }
            // When data is ready
            showDataMined();
        }

        // On page-load, check if data is ready
        document.addEventListener('DOMContentLoaded', function() { 
checkDataReady(); });
</script>

Я ожидаю, что когда модель изменитсяdataReady свойство true, что в следующий раз, когда цикл в checkDataReady() будет пройден, переменная ready будет присвоена true, однако всегда присваивается false.

Я убедился, что boolна самом деле присваивается истина, поэтому я в тупике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...