рдЬрдм рд╣рдо рд╡реАрдХреНрд╕рд┐рди рдорд┐рдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдиреАрдЪреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреА рд╣реИ:
Headers is not defined
ReferenceError: Headers is not defined
рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ RestLink.ts рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдорд┐рд▓рд╛ рд╣реИ, рдпрд╣ рд╣реЗрдбрд░ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ Weixin рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рддрд╣рдд рдХреЛрдИ рд╣реЗрдбрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИрдХ рдпрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЕрдЧрд░ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдзрдиреНрдпрд╡рд╛рджред
рд╣рд╛рдп @ рдЬреЗрдирд┐рд╕ 1114 , рдореИрдВ
рдЕрдХреНрд╕рд░, рдпрджрд┐ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИрдВ, рддреЛ рдлрд╝реЗрдЪ рднреА рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рддреЛ рдПрдХ рдкреЙрд▓реАрдлрд┐рд▓ рдЬреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ: https://github.com/bitinn/node-fetch
рд╣рд╛рдп @fbartho , рдЖрдкрдХреЗ рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдлрд╝реЗрдЪ рд╣реЗрдбрд░ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВред
рдФрд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╡реАрдХреНрд╕рд┐рди рдХреЗ рддрд╣рдд, рдпрд╣ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП wx.request рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдФрд░ рдХреНрдпрд╛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╣реЗрдбрд░ рд▓реВрдк рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣реИрдХ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдЧрд╛? рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдХреБрдЫ рдХрд╕реНрдЯрдо рд╡рд┐рдХрд▓реНрдк рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
рдЖрдк рдПрдХ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкреЛрд▓реЛрд▓рд┐рдВрдХрд░реЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП customFetch
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдкреЙрд▓реАрдлрд╝рд┐рд▓ рд╕реЗ рд╡рд┐рдВрдбреЛ-рдЖрдзрд╛рд░рд┐рдд-рд╣реЗрдбрд░ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрд╢ рдореЗрдВ рдлрд╝реНрд▓реИрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рдХреБрдЫ (рдЕрдирдЪрд╛рд╣реЗ, рдореЗрд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ):
function customFetch(url, options) {
const headers = options.headers.entries().reduce((accumulator, h) => { accumulator[h[0]] = h[1]; return accumulator;}, {})
return fetch(url, {тАжoptions, headers});
}
// Elsewhere: new RestLink({ customFetch, ...
рдЖрдкрдХреА рдХреГрдкрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдХреНрд╕рд┐рди рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ RestLink.ts рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдкрдврд╝рд╛ рд╣реИ, рдпрд╣ рд╣реЗрдбрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ рд╡реАрдХреНрд╕рд┐рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдпрд╣ global
рдореЗрдВ рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рддреЛ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдХрд╕реНрдЯрдо рдпрд╛ рдУрд╡рд░рд░рд╛рдЗрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд░реЗрд╕реНрдЯрд▓рд┐рдВрдХ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд▓рд╛рдЧреВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ?
рдЖрдкрдХреЗ рдЗрддрдиреЗ рд╢рд╛рдирджрд╛рд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд╢реБрднрдХрд╛рдордирд╛рдПрдБред
рд╣рд╛рдп @fbartho рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╡реЗрдХреНрд╕рд┐рди рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢реЗрд╖ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдиреАрдЪреЗ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИ:
рд╣реЗрдбрд░реНрд╕ рдЗрд╢реНрдпреВ рдлрд┐рдХреНрд╕
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдкреАрдЖрд░ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╛ рдирд╣реАрдВ
рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдФрд░ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЕрдЧрд░ рд╡рд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ "next": "^9.0.3"
рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг ^8.1.0
рд╕рд╛рде рднреА рдЖ рд░рд╣реА рд╣реИред рдореЗрд░реЗ рдЧреНрд░рд╛рдл рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдореИрдВ isomorphic-unfetch
, рд╕рдВрд╕реНрдХрд░рдг ^3.0.0
рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ:
import fetch from 'isomorphic-unfetch'
const graphLink = createHttpLink({ uri, fetch })
рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рд╛:
const restLink = new RestLink({
uri,
customFetch: fetch,
})
рдореИрдВрдиреЗ рдЖрдкрдХреА рдХрд╕реНрдЯрдордлрд╝реЗрдЪ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ node-fetch
рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА:
import fetch from 'node-fetch'
function customFetch(url, options) {
const headers = options.headers.entries().reduce((accumulator, h) => {
accumulator[h[0]] = h[1]
return accumulator
}, {})
return fetch(url, { ...options, headers })
}
const restLink = new RestLink({
uri: CONTENTFUL_CONTENT_DELIVERY_API,
customFetch,
})
рджреЗрд╡ рдореЛрдб рдореЗрдВ рдЖрдЧреЗ рдЪрд▓рдиреЗ рдкрд░ рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдЭреЗ ReferenceError: Headers is not defined
рдорд┐рд▓рд╛ред
рдпрд╣рд╛рдВ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рдЕрдЧрд░ рдЖрдк рд╕рд░реНрд╡рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд┐рд╢рд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж!
рдЖрдк рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╕реНрдЯрдордлрд╝реЗрдЪ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣реЗрдбрд░ рдПрдкреАрдЖрдИ рдХреЛ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рд╡рд╣рд╛рдВ рдХреБрдЫ рдирдореВрдирд╛ рдХреЛрдб рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдореИрдВ рдЗрд╕ рдорд┐рдирдЯ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд╣реАрдВ рд╣реВрдВред
@fbartho рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдХрд╛ рд╣реЛ рддреЛ рдХреБрдЫ рдирдореВрдирд╛ рдХреЛрдб рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛! рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рд╡рд╛рд░ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред рдзрдиреНрдпрд╡рд╛рдж!
import * as Polyfillheaders from 'fetch-headers'
import fetch from 'isomorphic-unfetch'
// hook in the Headers polyfill for your environment!
global.Headers = global.Headers || Polyfillheaders;
function customFetch(url, options) {
const headers = options.headers.entries().reduce((accumulator, h) => {
accumulator[h[0]] = h[1]
return accumulator
}, {})
return fetch(url, { ...options, headers })
}
const restLink = new RestLink({
uri: CONTENTFUL_CONTENT_DELIVERY_API,
customFetch,
})
рдКрдкрд░ рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ @ 2wheelcoder
рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреЗрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред
@fbartho рд╣рд╛рдп! рдореИрдВ рдЖрдИрдУрдПрд╕ 9.3.5 рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ fetch-headers
рдкреЙрд▓реАрдлрд┐рд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ fetch-headers
рд╕реЗ рд╣реЗрдбрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ forEach
рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдЙрдкрд╛рдп рд╣реИ?
@fbartho рд╣рд╛рдп! рдореИрдВ рдЖрдИрдУрдПрд╕ 9.3.5 рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ
fetch-headers
рдкреЙрд▓реАрдлрд┐рд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐fetch-headers
рд╕реЗ рд╣реЗрдбрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВforEach
рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)редрдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рдЙрдкрд╛рдп рд╣реИ?
рдореИрдВрдиреЗ рдлрд╝реЗрдЪ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдРрдк-рд╕рд╛рдЗрдб рдкрд░ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреЛ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕реЗ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдХ-рдлрд╝реЗрдЪ, рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдХ-рдЕрдирдлрд╝реЗрдЪ, рдлрд╝реЗрдЪ-рд╣реЗрдбрд░ рдЗрддреНрдпрд╛рджрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ current.forEach
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ TypeError: Right-hand side of 'instanceof' is not an object
рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдХреЛрдИ рдорджрдж?
@VinSpee рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЗрд╕ рдлрд╝реЗрдЪ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред
@lintuming рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
@VinSpee рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рдпрд╣ , рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рд╡реЗ forEach
рд╡рд┐рдзрд┐ред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдоред
@lintuming рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЙрд╕ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЙрд▓рдЭрд╛ рд╣реБрдЖ рдЬрд╛рд▓ рд▓рдЧрддрд╛ рд╣реИ
@VinSpee рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
https://stackoverflow.com/questions/7042340/error-cant-set-headers-after-the-are-sent-to-the-client
рдпрд╣рд╛рдБ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ:
import clientFetch from 'unfetch';
import serverFetch, { Headers as ServerHeaders } from 'node-fetch';
const client = typeof document !== 'undefined';
global.Headers = client ? global.Headers : ServerHeaders;
const customFetch = client ? clientFetch : serverFetch;
const acmeLink = new JsonApiLink({
тАж
credentials: 'same-origin',
customFetch,
});
@VinSpee рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдХрд╛рдордХрд╛рдЬреА рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдзрдиреНрдпрд╡рд╛рдж @VinSpee- рдпрд╣ рд╡рд╣реА рдерд╛ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛
рдореИрдВ рдХрд╕реНрдЯрдо рднреНрд░реВрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
import fetch from "isomorphic-fetch"
const restLink = new RestLink({
uri: "https://...",
customFetch: fetch,
headers: {
"Content-Type": "application/json",
},
})
@VinSpee рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП Gatsby JS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣рд╛рдБ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ: