Promisify aws-sdk чрез bluebird

Хора, мога да направя просто обаждане до SES:

var Promise = require("bluebird");
var AWS = require('aws-sdk');
var SES = new AWS.SES();

SES.listVerifiedEmailAddresses(function (err, emails) {
    console.log(err,emails);
});

Въпреки това, когато се опитам да използвам bluebird, получавам следното:

var Promise = require("bluebird");
var AWS = require('aws-sdk');
var SES = new AWS.SES();
var ses = Promise.promisifyAll(Object.getPrototypeOf(SES));
ses.listVerifiedEmailAddressesAsync().then(function (err,emails) {
    console.log('p',err,emails);
});

грешка:

Unhandled rejection TypeError: Cannot read property 'params' of undefined

И така, как се обещава aws-sdk чрез bluebird? Трябва да можете да return резултати от успешни обещания.

Благодаря!


person Cmag    schedule 09.03.2015    source източник
comment
Опитвали ли сте var ses = Promise.promisifyAll(SES);?   -  person victorkt    schedule 10.03.2015


Отговори (1)


Следният бит работи, благодаря @victorkohl

var SES = new Promise.promisifyAll(new AWS.SES());

SES.listVerifiedEmailAddressesAsync().then(function (err,emails) {
    console.log('p',err,emails);
});
person Cmag    schedule 10.03.2015