13

我正在尝试将参数传递给使用 async/await 的函数。我已经像这样定义了我的功能

// common.js

export const myAsyncFunc = async (t, textA, textB) => {
  await t
    .typeText('#input-1', textA)
    .typeText('#input-2', textB);
};

但是,当我尝试将此函数导入另一个文件时,就像这样,我无法传递它,t因为t is not defined

// index.js

import { myAsyncFunc } from './common'

myAsyncFunc(t, textA, textB)

是否可以使用 async/await传入我的textA和参数(可能使用柯里化或其他方式)?textB

编辑:所以这是作为测试咖啡馆库的一部分运行的。它看起来像是t来自何时testcafe chrome client/__tests__/运行,而不是在common.js文件中导入。

4

1 回答 1

6

您正在导入/导出myAsyncFunc,但在您的代码中您正在调用myAsyncFunction.

另外,您正在链接

.typeText('#input-1', textA)
.typeText('#input-2', textB);

但我认为.typeText回报了一个承诺,对吧?所以你应该:

export const myAsyncFunc = async (t, textA, textB) => {
  await t.typeText('#input-1', textA);
  await t.typeText('#input-2', textB);
};

除此之外,代码工作得很好,假设你在t某个地方定义了,正如评论中指出的那样。

于 2017-07-17T15:40:08.413 回答