After having read pages and pages about promises, I still cannot figure out the right way to return a promise (ES6 spec) inside a class function.
Here are the various options I've tried.
utils.getMyPhotos() returns a promise.
1) Return the promise AND it's values
profilePictures(){
    return utils.getMyPhotos().then(function(result){
            var photosArray = result;
            photosArray.forEach(function(element) {
                this._list.push(new Picture(
                    element.src,
                    element.caption
                    ));
            }, this);
            return this._list;
        },function(error){
            console.log(error);
            return error;
        });
        }
2) Only return the promise' values
 profilePictures(){
        utils.getMyPhotos().then(function(result){
            var photosArray = result;
            photosArray.forEach(function(element) {
                this._list.push(new Picture(
                    element.src,
                    element.caption
                    ));
            }, this);
            return this._list;
        },function(error){
            console.log(error);
            return error;
        });
        }
3)Create a new Promise and return it
 profilePictures(){
 return new Promise(function(fulfill,reject){
 utils.getMyPhotos().then(function(result){
            var photosArray = result;
            photosArray.forEach(function(element) {
                this._list.push(new Picture(
                    element.src,
                    element.caption
                    ));
            }, this);
            fulfill(this._list);
        },function(error){
            console.log(error);
            reject(error);
        });
        }
 }
I try to use the above function as following :
pictures.profilePictures().then(function(result){
        console.log("all good");
        console.dump(result);
    },function(error){
        console.log("errors encountered");
        console.log(error);
    });
Hoever in the CLI I only see "errors encountered" followed by an empty error object.
What am I doing wrong?
 
     
     
    