Что означает эта ошибка? Uncaught TypeError: Уже прочитал?
В Javascript, когда эта ошибка выбрана?
![введите описание изображения здесь]()
index.js
/**
* Created by tushar.mathur on 24/12/15.
*/
'use strict'
const _ = require('lodash')
const Rx = require('rx')
const createDataStore = require('./src/createDataStore')
const fetch = x => Rx.Observable.fromPromise(window.fetch(x))
const parseJSON = x => Rx.Observable.fromPromise(x.json()) // Line: 11 (Where the exception is thrown)
var create = _.partial(createDataStore, fetch, parseJSON)
module.exports = {
create,
// Alias for legacy purposes
createDataStore: create,
createFetchStore: create
}
Это обычная ошибка? Что это значит? Google не показывает результат.
Ответы
Ответ 1
Я думаю, это означает, что тело уже было прочитано с помощью .json().text() и т.д. Когда вы запустите x.json(), он берет тело ответа и читает его в JSON. Если вы попытаетесь запустить x.json() снова, это даст вам эту ошибку. Таким образом, вы можете использовать один из эти методы один раз. Поэтому я предполагаю, что где-то в вашем коде он снова считывает тело того же ответа, используя один из методов Body.
Я думаю, именно поэтому они предлагают метод Body.bodyUsed
. Итак, вы можете видеть, было ли это уже прочитано.
Ответ 2
Эта ошибка означает, что вы устранили обещание (в этом случае, вы используете Body.json()
) более одного раза.
Вы можете проверить методы тела ответа из приведенного ниже ссылки, и вам нужен флаг, чтобы проверить, было ли обещание разрешено или нет: в этом случае вы можете использовать Body.bodyUsed
Ссылка: https://developer.mozilla.org/en-US/docs/Web/API/Response
НТН