Я загружаю изображения в облачный каталог и сохраняю ссылки из загрузки в моей базе данных mongo.
код
function createProjects(cb) {
async.parallel([
function(callback) {
projectCreate('Project name', '5bdee2734fbaaf1f1804f497', cloudinary.v2.uploader.upload("circuit.jpg", function(error, result){console.log(result.url, error)} ), callback);},
Вместо сохранения ссылки на изображение, '[Обещание объекта] 'сохранено.Я понимаю, что это связано с асинхронной природой javascript.
Моя новая цель - запустить облачную функцию и вернуть ссылку до того, как данные будут сохранены в базе данных.
новый код подхода
function(callback) {
projectCreate('NEW ONE two', '5bdee2734fbaaf1f1804f497', new Promise(function(resolve, reject){
cloudinary.v2.uploader.upload("circuit.jpg",
function(error, result){
//resolve(result.url);
resolve(result);
})}).then(function(value)
{return(value);
}) , callback);
}
Это приводит к следующей ошибке
FINAL ERR: ValidationError: pictures.0.data: преобразование в строку не выполнено для значения"Promise {}" в пути "data" Я попробовал несколько подходов из похожих проблем на stackoverflow, они также закончились ошибкой или сохранением [Promise] объекта.
Буду признателен за любую помощь, которую вы предлагаете.