Javascript Node.js-如何使函数在继续之前等待完成

Javascript Node.js-如何使函数在继续之前等待完成,javascript,node.js,Javascript,Node.js,我有一个函数如下所示: const XML = '.xml code'; var array = []; var i = 0; //counter XMLExtract(XML, 'loc', false, (error, element) => { if (error) { throw new Error(error); } array[i] = element; console.log(array[i]); funct

我有一个函数如下所示:

const XML = '.xml code';

var array = [];
var i = 0; //counter

XMLExtract(XML, 'loc', false, (error, element) => {
    if (error) {
        throw new Error(error);
    }

    array[i] = element; 

    console.log(array[i]);

    function_name(array[i]); //imported function from external .js

    i++;

});
基本上,我希望运行function()返回它给出的响应,然后使用新参数再次运行function()。但是,上面的代码不起作用,它只是重叠

我还检查了以前的解决方案:但我想我真的不知道如何实现它。有什么建议吗

更新:
external.js

module.exports = function() {

this.function_name = function() {

(async function() {

 ...

await instance.exit();

}());
};
};

你包含的链接就在这里。在
external.js
中编辑函数并包含回调参数,然后在函数末尾运行该回调。1)我不会命名函数
function
。2) 您只调用该函数一次。如果我理解正确,您希望执行
someFunction(元素,someOtherFunction)?3) 你可以去掉
i
,只需做
array.push
@BrettBeatty 1)这只是为了参考。2)
XMLExtract(XML,'loc',false,(error,element)
实际上是一个循环,我希望首先运行
function()
,等待它完成,然后将计数器增加1,然后使用新参数运行相同的函数。3)我会这样做,谢谢:)@VictorC。我的意思是我不太理解它,因为我是Javascript/Node.js的新手。如果您能帮助我使用上面的代码调整它,那将非常有帮助。回调和承诺是异步开发的核心。你真的需要了解这些。