我一直在尝试运行 eval 或从 repl 导入 esm 模块,但无法使其工作。我尝试了一些在互联网上找到的东西。例如:是否可以将 Typescript 导入到正在运行的 ts-node REPL 实例中?
不确定我错过了什么,我收到的错误是:
var a = await import("./test").then(x=>x)
//or
var a = await import("./test").then(x=>x)
//gives
//TypeError [ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING]: A dynamic import callback was not specified.
Run Code Online (Sandbox Code Playgroud)
import * as test from './src/test';
//works but then when I try to use 'test' it gives
//SyntaxError: Cannot use import statement inside the Node.js REPL, alternatively use dynamic import
Run Code Online (Sandbox Code Playgroud)
ts-node --esm -e "import * …Run Code Online (Sandbox Code Playgroud) 我能够在 papa 解析器中配置所有内容,即使解析 200k 项,它也能正常工作。因此,我可以处理所有数据,并等待结果数组中的每一行。问题是,如果我正在使用一个步骤,如何使该步骤等待上一步?这导致解析器触发数千个调用,然后阻止我。我尝试将该步骤包装在另一个函数中,但这也没有帮助。
这是我在步骤调用中所做的示例
async function stepFn(results, parser) {
stepped++;
(await (async function () {
if (results) {
if (results.data) {
rowCount += results.data.length;
console.log('checking if item exists');
var itemExistsP = await restcallToRetrieve();
if (itemExistsP.length > 0) {
console.log('Item exists, skipping');
//return;
} else {
console.log('adding item to list');
await restcalltoAdd();
// return item;
}
}
if (results.errors) {
errorCount += results.errors.length;
firstError = firstError || results.errors[0];
}
}
}()));
}
Run Code Online (Sandbox Code Playgroud)
这是解析器调用:
Papa.parse($('#parse-file')[0].files[0], {
delimiter: '',
header: true, …Run Code Online (Sandbox Code Playgroud)