如何在node.js中进行同步调用?

时间:2016-07-19 05:59:29

标签: node.js promise

我已经在node.js

中编写了这段代码
var zipEntries = zip.getEntries();
zipEntries.forEach(function (zipEntry) {

        if (zipEntry.entryName.toString().indexOf('.csv') > -1) {
            var data = zip.readFile(zipEntry.entryName.toString());
            zip.extractEntryTo(zipEntry.entryName.toString(), "./csvdata", false, true);
            var filepath = zipEntry.entryName.toString();
            filepath = filepath.replace('largecsvzip2/', '');
            **some_function**("./csvdata/" + filepath);
        }
    });

问题是在上一次执行some_function完成之后必须调用函数,即循环中的some_function。

当前函数调用在其上一次执行完成之前。

2 个答案:

答案 0 :(得分:1)

使用async eachSeries - async docs

答案 1 :(得分:0)

你需要使用promise.all来解决问题。 contents()

将所有异步函数添加到堆栈并使用promise.all