小编Ric*_*lva的帖子

ts-node 在 cli 中的 repl 或 eval 中无法使用动态导入或 import 语句

我一直在尝试运行 eval 或从 repl 导入 esm 模块,但无法使其工作。我尝试了一些在互联网上找到的东西。例如:是否可以将 Typescript 导入到正在运行的 ts-node REPL 实例中?

不确定我错过了什么,我收到的错误是:

  1. 来自带有动态导入的 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)
  1. 在 REPL 上使用 import 语句
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)
  1. 在 cli 上使用
ts-node --esm -e  "import * …
Run Code Online (Sandbox Code Playgroud)

node.js typescript ts-node

8
推荐指数
0
解决办法
1175
查看次数

Papa 解析器等待步骤

我能够在 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)

javascript async-await papaparse

3
推荐指数
1
解决办法
2310
查看次数