首页 > 解决方案 > 使用node.js完成所有forEach循环后如何执行方法

问题描述

嗨,我面临一个问题。forEach在使用 node.js 完成所有嵌套后,我需要执行一种方法。我在下面解释我的代码。

let jsonArr = _.get(req, ['body', 'test_suite']);
jsonArr.forEach(async ele => {
     let stepsArr = ele.steps;
     let devices = ele.devices;
     let deviceArr = devices.split(',');
     let arr = [];
     deviceArr.forEach(e => {
        arr.push({ 'name': e });
     })
      ele.devices = '';
      ele.devices = arr;
      stepsArr.forEach(async el => {
           if (el.operation === 'PATCH' || el.operation === 'PUT' || el.operation === 'POST') {
                        if (el.attachments && el.attachments[0].content === '') {
                            fileFlag = false;
                            msg = '_id is mandotary for POST/PATCH/PUT operation.';
                        } else {
                            const cid = el.attachments[0].content;
                            const result = await findById(cid, 'useCaseFile');
                            if (result.status === 1 && !_.isEmpty(result.data)) {
                                const contentToBase64 = result.data.fileData;
                                el.attachments[0].content = '';
                                el.attachments[0].content = contentToBase64;
                            }
                     }
             } 
        })
 })

console.log('jsonArr', jsonArr)
let originalJSON = {};
originalJSON['test_suite'] = jsonArr;
originalJSON['schema'] = "hello";
originalJSON['version'] = 10;
await downloadFiles(res, originalJSON, 1);

所以在这里我需要在完成嵌套循环执行之后,然后console应该打印消息并且还downloadFiles应该调用方法。但是根据我在完成循环执行之前的代码console.log正在执行并且downloadFiles方法正在调用,结果我没有得到正确的结果。在这里,我需要在完成所有嵌套循环执行后console消息下面的内容应该执行。

标签: javascriptnode.js

解决方案


推荐阅读