Этот код взят из приложения React. Функция makeCall была предоставлена в примере проекта расширения Twitch. Я использую его для вызова внутреннего сервера для моего внутреннего номера.
makeCall(url, method="GET"){
return new Promise((resolve, reject)=>{
if(this.isAuthenticated()){
let headers={
'Content-Type':'application/json',
'Authorization': `Bearer ${this.state.token}`
}
fetch(url,
{
method,
headers,
})
.then(response=>resolve(response))
.catch(e=>reject(e))
}else{
reject('Unauthorized')
}
})
}
Я могу получить доступ к ответу, но я не уверен, что происходит с этой строкой кода выше: .then(response=>resolve(response))
. Когда я звоню makeCall
, он возвращает обещание, но ответ, к которому я обращаюсь, ниже показывает Обещание внутри ответа, и я не уверен, как получить доступ к значению там:
this.Authentication.makeCall(bitpostConstants.GET_STATUS_URL)
.then(response=>{
if(response.status!=200) {
console.log('Error getting status.');
} else {
var responseJson = response.json();
console.log('Response', responseJson);
// How do I access 'twitterConnected'? This is showing as undefined.
console.log('Twitter connected: ' + responseJson.twitterConnected);
Ниже представлен журнал инструментов разработчика браузера, показывающий свойство (twitterConnected), к которому я пытаюсь получить доступ, но отображается как неопределенное, если я пытаюсь получить к нему доступ с помощью responseJson.twitterConnected
:
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: Object
twitterConnected: false
__proto__: Object
Twitter connected: undefined