Ответы пользователя по тегу Mongoose
  • Как вернуть значение из callback функции?

    @vsvladimir
    Тут идея в том, что функция productRepository.getProducts выполнится мгновенно, а callback функция выполнится через некоторое время. Сначала выполнится productRepository.getProducts, затем return collection, а потом только через некоторое время callback с collection = result, но будет уже поздно.

    Дальше уже решать как лучше. Можно асинхронно через callback (callback вместо return):

    getAllProducts: function(callback) {        
            productRepository.getProducts(function(error, result) {
                callback(error, result);
            });        
        }


    Можно асинхронно через promise. Возможно можно и синхронно (не проверял) - ждать перед return collection выполнения callback - но это будет программу в этот момент тормозить.
    Ответ написан
    Комментировать