在异步调用和共享变量之间

时间:2019-05-04 15:46:56

标签: javascript node.js asynchronous async-await

我有一个函数,该事件被多次触发。 发生这种情况时,我需要读取一个文件以将变量填充到Manager中:

roomAdded: state => function ( config, room ) {
    const perMng = state.PersistanceManager;
    const perLoader = state.EntityLoaderRegistry.get( 'persistence' );
    if ( perMng.checkArea( config.area ) )
        return;

    var rooms = [];
    var items = [];

    perLoader.setArea( config.area );
    perLoader.fetchAll().then( res => {
        res.rooms.forEach( room => {
//...
            perMng.addArea( config.area, rooms );

现在,我的 fetchAll 不是 async 函数,我无法使其成为 async ,因为< em> EntityLoaderRegistry 想要,我无法更改其工作方式。

我需要的是从2°通话开始,我想 checkArea ,然后在 if 之后执行上一个调用结束了,因为上一个调用可以使用下一个相同的内容填充 Map 。但是我不能使用 await 键,因为我想再说一遍,它不是 async 函数。

0 个答案:

没有答案