Завершите SQL перед возвратом из конструктора - PullRequest
0 голосов
/ 19 октября 2018

Я использую pg-обещание:

class Test{
    constructor(){
        this.a = db.any('SELECT * FROM test');
    }
}

Если я позвоню test.a, он вернет Promise { <pending> } }.

Как мне решить эту проблему?Я не могу использовать .then() для решения этой проблемы, потому что я надеюсь, что значение может быть сохранено в this.a до возврата.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Я не могу использовать .then () для решения этой проблемы, потому что я надеюсь, что значение может быть сохранено в this.a до возврата.

Это противоречивое утверждение.Если вам нужно значение внутри конструктора, вы должны использовать then.В противном случае вы можете использовать then позже, например:

var t = new Test();
t.a.then(data => {});

или

const t = new Test();
const data = await t.a;
0 голосов
/ 19 октября 2018

У вас должна быть переменная foo, которая инициализируется как пустая, а затем функция обещания успеха устанавливает значение foo равным асинхронному результату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...