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);
}