我正在将图像上传到cloudinary,并将上传的链接保存到我的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);},
保存“ [object Promise]”而不是保存指向图像的链接。我了解这是因为javascript的异步特性。
我的新目标是在将数据保存到数据库之前运行cloudinary函数并返回链接。
新方法代码
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);
}
这将导致以下错误
最终错误:ValidationError:pictures.0.data:在路径“数据”的值“承诺{}”的强制转换为字符串失败 我尝试了许多方法来解决类似stackoverflow上的类似问题,但这些方法也都以错误或[object Promise]保存而告终。
非常感谢您提供的帮助。