Hi I've some trouble with async/await in nodejs. I would use this into my factory in this way
//foo.js    
   var rp = require('request-promise');
   function Foo(options) {
        this.options = options;
    }
    function create() {
        return new Foo(login());
    }
    async function login() {
        const options = {
            method: `POST`
            ,json: true
            ,uri: `http://xxxxxx/login`
            ,body: {username: 'abcd', password: '1234'}
        };
        try {
            const response = await rp(options);
            return (response);
        }
        catch (error) {
            return Promise.reject(error);
        }
    }
  module.export.create = create;
So I call create into my test and I'm expecting that return will be execute after login, but flow isn't this!!!
var Foo = require('foo');
describe('using my utils into project', function () {
        it('using real case', function (done) {
            var foo = Foo.create();
            console.log(foo.options);
            done();
        });
    });
Test return me OK but in console I see Promise { <pending> } not real response after login process. Where is my error? Is correct working in this way?
via Claudio Pomo
 
No comments:
Post a Comment