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

问题描述 投票:4回答:1

我正在尝试将参数传递给使用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文件中导入。

javascript testcafe
1个回答
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,正如评论中所指出的那样。

© www.soinside.com 2019 - 2024. All rights reserved.