I am currently developing a web application with the Facebook Graph API.
My current goal is to retrieve only posts which have a location attached.
While retrieving posts with and without location is already working, I am not able to retrieve only posts with location.
The query which retrieves both types looks like this: '/me/feed?fields=id,name,message,picture,place,with_tags&limit=100&with=location'
The query which should retrieve only posts with location looks like this: /me/feed?fields=id,name,message,picture,place,with_tags&limit=100&with=location
The problem I have is that with the parameter &with=location
I get an error Uncaught (in promise) undefined
at this part of my code:
if (response.paging && response.paging.next) {
recursiveAPICall(response.paging.next);
} else {
resolve(postsArr);
}
} else {
// Error message comes from here
reject();
}
Log shows the following:
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
Does anyone have a possible solution for this?
For further information how the code looks like see my previous question.
The
reject
actually takes one parameter: that's the exception that occurred in your code that caused the promise to be rejected. So, when you callreject()
the exception value isundefined
, hence the "undefined" part in the error that you get.You do not show the code that uses the promise, but I reckon it is something like this:
Try adding an empty failure call, like this:
This will prevent the error to appear.
However, I would consider calling
reject
only in case of an actual error, and also... having empty exception handlers isn't the best programming practice.The error tells you that there is an error but you don´t catch it. This is how you can catch it:
You can also just put a
console.log(reponse)
at the beginning of your API callback function, there is definitely an error message from the Graph API in it.More information: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch
Or with async/await: