Подтвердить что ты не робот

Что означает эта ошибка? 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 не показывает результат.

4b9b3361

Ответ 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

НТН