El problema que tengo es acceder al valor dentro de la declaración de devolución en la ruta del matraz (resp["login"]). Estoy tratando de usar este valor en un archivo javascript y usarlo como parámetro de consulta. Pero cada vez que pruebo el console.log() en el archivo javascript obtengo un objeto de promesa. Pero no puedo encontrar dónde puedo encontrar el valor proveniente de la aplicación Flask. Pensé que estaría dentro del objeto de respuesta a continuación, pero no tuve tanta suerte.
@app.route('/route', methods=['GET', 'POST']) @cross_origin(supports_credentials=True) def handle_callback(): if request.method == 'POST': payload = { blahhh } headers = {'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'} req = requests.post(token_url, params=payload, headers=headers) # make another request after this using access token with updated header field resp = req.json() if 'access_token' in resp: oauthHeader = "token " + resp['blahhh'] headers = {'Authorization': oauthHeader} access_token_url = 'https://blahhh.com' r = requests.get(url=access_token_url, headers=headers) resp = r.json() return resp["login"] else: return "error", 404 const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const codeGit = urlParams.get('code') const sub = {codeGit}; const res = fetch('http://localhost:4000/route', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'code': codeGit }, credentials: 'include' }).then(response => { if(response.status == 200){ console.log('Success! ' + response.json() ) } }).catch(error => { console.log('error with access token req!') }) console.log(res)response.json() devuelve una promesa
Valor de retorno: una promesa que se resuelve en un objeto de JavaScript. Este objeto podría ser cualquier cosa que se pueda representar mediante JSON: un objeto, una matriz, una cadena, un número...
.then(response => { if(response.status == 200){ return response.json(); } else { // handle this somehow } }).then(json => { console.log('Success! ' + JSON.stringify(json)) }).catch(error => { console.log('error with access token req!') })