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には結果が見つかりませんでした。
.json().text()などを使用して本文が既に読み込まれていることを意味すると思います。x.json()を実行すると、応答の本文がJSONに読み込まれます。 x.json()を再度実行しようとすると、そのエラーが発生します。したがって、 these メソッドの1つしか使用できません。したがって、コードのどこかで、Bodyメソッドの1つを使用して同じ応答の本文を再度読み取っていると想定しています。
だからこそ、彼らはBody.bodyUsed
メソッドを提供しています。そのため、すでに読み取られているかどうかを確認できます。
このエラーは、プロミスを解決したことを意味します(この場合、Body.json()
を使用しています)。
以下に添付したrefから応答本文のメソッドを確認できます。また、promiseが解決されたかどうかを確認するためのフラグが必要です。この場合、Body.bodyUsed
を使用できます
リファレンス: https://developer.mozilla.org/en-US/docs/Web/API/Response
HTH