Исправление частых ошибок на svelte.
TypeError: Object of type datetime is not JSON serializable
Со стороны Python не правильная передача данных. Передавать данные следует в формате json.
Примеры:
или
или
Error: {#each} only iterates over array-like objects
Надо объявить явно, что наша переменная будет массивом:
Uncaught Error: {#each} only iterates over array-like objects.
или
[object Promise] svelte
Ошибка:
index.mjs:1569 Uncaught Error: {#each} only iterates over array-like objects.
at validate_each_argument (index.mjs:1569)
at Object.update [as p] (App.svelte:139)
at update (index.mjs:707)
at flush (index.mjs:676)
at init (index.mjs:1439)
at new App (App.svelte:120)
at app.js:3
at app.js:8
Решение не обязательно будет как в примере ниже. Есть много причин, которые могут быть связаны с этой ошибкой.
А
Суть в том, что с бэкенда не успевают прийти данные по которым потом следует итерация на стороне Svelte. В тот момент, когда переменная в Svelte инициализируется в ней еще нет данных.
В JS добавляем асинхронности:
GeSHi Error: GeSHi could not find the language javasript (using path /home/admin/web/ploshadka.net/public_html/wp-content/plugins/codecolorer/lib/geshi/) (code 2)
Б
Полученные данные положим в итерируемый массив данных, а не просто в переменную:
stocks = Array.from(items[1]);
Uncaught (in promise) SyntaxError: Unexpected token O in JSON at position 0 Uncaught (in promise) SyntaxError: Unexpected token O in JSON at position 0 awate
Вероятно с бэкенда приходят данные не в формате JSON. Исправляем:
Uncaught (in promise) TypeError: Failed to execute ‘json’ on ‘Response’: body stream is locked
Если попытаться прочитать ответ дважды, то такая ошибка может произойти. Т.е. такой код может вызвать ошибку:
response.json()
В этом случае следует убрать console.log и всё будет работать.