0

我在我的反应应用程序中使用流并开始使用网络工作者也使用flow-immutable-models流在主线程执行的文件中工作,但在工作文件中不起作用。当 webpack 服务器在保存后重新启动时会卡在sai 插件上。过去有人遇到过问题吗?

我的代码如下:控制器文件

import ImportWorker from 'worker-loader!./ImportWorker.js';

....

const worker = new ImportWorker();
            worker.onmessage = this.handleMsg;
            this.worker = worker;

工人档案

//@flow
const parseCSV = ({
    file,
    config = {}
}): Promise<{
    file: File,
    parsedFile: {
        fileRows: Array<Object>,
        fileHeaders: Array<string>
    }
}> => {
    return new Promise((resolve, reject) => {
        // some passing logic
    });
};

// some handelIncomingMsg handler logic

onmessage = e => {
    try {
        handelIncomingMsg(e);
    } catch (err) {
        onError({ ...err, id: e.data.id });
    }
};
4

1 回答 1

0

对于其他面临此问题的人,我在更改 webpack 加载器配置中的顺序后得到了修复。

旧配置

use: [
      {
           loader: 'babel-loader',
           query: {
               cacheDirectory: true
           }
     },
     {
           loader: 'worker-loader',
           query: {
               inline: true,
               fallback: false
           }
     }
]

新配置

use: [
      {
           loader: 'worker-loader',
           query: {
               inline: true,
               fallback: false
           }
      },
      {
           loader: 'babel-loader',
           query: {
               cacheDirectory: true
           }
     }         
]
于 2020-05-05T13:20:34.863 回答