[我在我的应用程序中使用流程,并开始使用Web Worker,也使用flow-immutable-models
flow在主线程执行的文件中运行,但在工作文件中不运行。当webpack服务器重启后,保存将停留在sail插件上。以前有人遇到过类似问题吗?
我的代码如下:控制器文件
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 });
}
};
对于其他面临此问题的人,我在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
}
}
]