net example es_la en_us async javascript facebook-graph-api facebook-javascript-sdk

javascript - example - js src connect facebook net en_us sdk js



Error "No detectado(en promesa) no definido" cuando se utiliza con=ubicaciĆ³n en la consulta de la API de Facebook Graph (2)

El reject realidad toma un parámetro: esa es la excepción que ocurrió en su código que hizo que la promesa fuera rechazada. Por lo tanto, cuando llama a reject() el valor de la excepción undefined está undefined , de ahí la parte "indefinida" en el error que recibe.

No muestra el código que usa la promesa, pero creo que es algo como esto:

var promise = doSth(); promise.then(function() { doSthHere(); });

Intenta agregar una llamada de error vacía, como esto:

promise.then(function() { doSthHere(); }, function() {});

Esto evitará que aparezca el error.

Sin embargo, consideraría que reject llamadas solo en caso de un error real, y también ... tener controladores de excepciones vacíos no es la mejor práctica de programación.

Actualmente estoy desarrollando una aplicación web con la API de gráficos de Facebook.

Mi objetivo actual es recuperar solo las publicaciones que tienen una ubicación adjunta.

Si bien la recuperación de publicaciones con y sin ubicación ya está funcionando, no puedo recuperar solo las publicaciones con ubicación.

La consulta que recupera ambos tipos se ve así: ''/me/feed?fields=id,name,message,picture,place,with_tags&limit=100&with=location''

La consulta que debería recuperar solo las publicaciones con ubicación se ve así: /me/feed?fields=id,name,message,picture,place,with_tags&limit=100&with=location

El problema que tengo es que con el parámetro &with=location recibo un error Uncaught (in promise) undefined en esta parte de mi código:

if (response.paging && response.paging.next) { recursiveAPICall(response.paging.next); } else { resolve(postsArr); } } else { // Error message comes from here reject(); }

El registro muestra lo siguiente:

DEBUG: ------------------------------- DEBUG: Ember : 2.4.5 DEBUG: Ember Data : 2.5.3 DEBUG: jQuery : 2.2.4 DEBUG: Ember Simple Auth : 1.1.0 DEBUG: ------------------------------- Object {error: Object} error: Objectcode: code: 1 1fbtrace_id: "H5cXMe7TJIn" message: "An unknown error has occurred." type: "OAuthException" __proto__: Object __proto__: Object Uncaught (in promise) undefined

¿Alguien tiene una posible solución para esto?

Para más información sobre cómo se ve el código, vea mi pregunta anterior .


El error te dice que hay un error pero no lo atrapas. Así es como puedes atraparlo:

getAllPosts().then(response => { console.log(response); }).catch(e => { console.log(e); });

También puede simplemente poner una console.log(reponse) al comienzo de su función de devolución de llamada de la API, definitivamente hay un mensaje de error de la API Graph en ella.

Más información: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch

O con async / await:

//some async function try { let response = await getAllPosts(); } catch(e) { console.log(e); }