В паруса динамически меняются, что заполнять и использовать соединение? - PullRequest
0 голосов
/ 28 сентября 2018

Хорошо, рассмотрим функцию внутри контроллера, как показано ниже:

test_func: async function(id, update_vals, connection=undefined) {
    if (connection !== undefined) {
        await Data.update({id: id}, update_vals).usingConnection(connection);
    } else {
        await Data.update({id: id}, update_vals);
    }
}

Я должен создать оператор if, основываясь на том, используется ли функция внутри транзакции или нет.Это становится еще хуже, когда мы добавляем в список еще один флаг «fetch».Внезапно возникает 4 случая, и каждый нуждается в своем собственном операторе if из-за требований синтаксиса.

Или в месте, где это становится даже невозможным: функция, которая получает данные и заполняет их на основе списка ввода:

get_test_func: async function(id, populated_list) {
    if (populated_list.length === 0) {
        return Data.find({id: id}).populate(populated_list[0]);
    } else if (populated_list.length === 1) {
        return Data.find({id: id}).populate(populated_list[0])
                                  .populate(populated_list[1]);
 ......

Можно ли переместить эти дополнения в запрос (специально для соединения с БД и заполнить) внутри запроса?

...