使用async / await将参数传递给函数

时间:2017-07-17 15:25:41

标签: javascript testcafe

我试图将参数传递给使用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传递我的textAtextB参数(可能以currying或其他方式)?

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

1 个答案:

答案 0 :(得分:2)

您正在导入/导出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 ,正如评论中所指出的那样。