Node.js Nodejs-处理多个阵列

Node.js Nodejs-处理多个阵列,node.js,express,mongoose,Node.js,Express,Mongoose,我有一篇带有文字、图像、视频和标签选项的帖子。除了文本rest是可选的之外,现在使用异步如何处理标记为空的情况,然后上载图像,如果没有提供图像,然后上载视频,如果所有标记都已给出,那么如何上载图像、视频,然后保存在db中? 以下是示例输入 images: [{"image":"image1"},{"image":"image2"}] videos: [{"video":"video1"},{"video":"video2"}] tags: [{"userId":2},{"userId":23}

我有一篇带有文字、图像、视频和标签选项的帖子。除了文本rest是可选的之外,现在使用异步如何处理标记为空的情况,然后上载图像,如果没有提供图像,然后上载视频,如果所有标记都已给出,那么如何上载图像、视频,然后保存在db中? 以下是示例输入

images: [{"image":"image1"},{"image":"image2"}]
videos: [{"video":"video1"},{"video":"video2"}]
tags: [{"userId":2},{"userId":23} ]
text: having a good day :)
对于可选的视频和图像上载,请使用异步并行。内部并行如果您的服务不允许多个插入,那么您需要使用异步或映射


需要更多信息/代码示例budi还没有编写任何代码,我正在尝试了解如何使用async处理这些多个阵列您将在图像、视频等的异步函数中使用try/catch您可以共享一个链接吗如何使用它?我是新的节点;
const async = require("async");

// example data
const data = {
    images: [{"image":"image1"},{"image":"image2"}]
    videos: [{"video":"video1"},{"video":"video2"}]
    tags: [{"userId":2},{"userId":23} ]
    text: "having a good day :)"
}

if(!data.text){
    //return 'text is required' message
}
else{
    const imageUrls = [];
    const videoUrls = [];

    // http://caolan.github.io/async/docs.html#parallel
    async.parallel({
        uploadImages: function(callback){
            async.each(data.images, function(image, eachCallback){
            // upload each image 
            // push returned url in imageUrls
            // call return eachCallback(), or if err then return eachCallback(err)
        }, function(err){
            if(err){
                return callback(err)
            }
            else{
                return callback()
            }

          })
        },
        uploadVideos: function(callback){
            async.each(data.videos, function(video, eachCallback){
            // same process as images
        }, function(err){
            if(err){
                return callback(err)
            }
            else{
                return callback()
            }

          })

        }
    }, function(err, results){  //final callback of async parallel
        if(err){
            //handle err
        }
        else{
            const obj = {
                images: imageUrls,
                videos: videoUrls,
                tags: data.tags,
                text: data.text
            }

            //insert obj to db and respond with success message
        }
    })
}