Async/awaitを使用する関数に引数を渡そうとしています。私は自分の関数をそのように定義しました
// common.js
export const myAsyncFunc = async (t, textA, textB) => {
await t
.typeText('#input-1', textA)
.typeText('#input-2', textB);
};
ただし、この関数を別のファイルにインポートしようとすると、t is not defined
のため、t
を渡すことができません。
// index.js
import { myAsyncFunc } from './common'
myAsyncFunc(t, textA, textB)
textA
とtextB
の引数を(おそらくカリー化または別の方法で)async/awaitで渡すことは可能ですか?
EDIT:つまり、これはテストカフェライブラリの一部として実行されています。 t
は、testcafe chrome client/__tests__/
ファイルにインポートされるのではなく、common.js
が実行されたときに発生するようです。
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
をどこかで定義したと仮定。