代码之家  ›  专栏  ›  技术社区  ›  duyhoccode

如何在Javascript中连续调用异步函数

  •  0
  • duyhoccode  · 技术社区  · 1 年前

    每个人,在我的学校里,我都有一个项目,我编写javascript来自动测试页面 我使用网络驱动程序发短信 但我有一个错误:TypeError:loginPageInstance.inputUsername(…).inputPassword不是函数 在Context。(D:\PVD_HOCTAP\后端\Javascript\Automatid_Testing_demo\test\pageObject2\testScript/testLogin.js:18:67) 我还是不知道该怎么修。我希望每个人都能帮助我。很抱歉我的英语不好,我希望大家能原谅我 enter image description here enter image description here

    我希望我的测试用例在点击之前必须是setValue用户名和密码

    1 回复  |  直到 1 年前
        1
  •  0
  •   Nicholas Tower    1 年前

    由于您的每个函数都返回promise,因此您需要 await 每一个都可以调用下一个函数。这使得函数链接非常繁琐:

    const loginPageInstance = new loginPage();
    await (
      await (
        await loginPageInstance.inputUsername(loginData.correctCredentials.username)
      ).inputPassword(loginData.correctCredentials.password)
    ).clickOnLoginBtn();
    

    由于promise解析为与您开始使用的实例相同的实例,因此我建议您这样做:

    await loginPageInstance.inputUsername(loginData.correctCredentials.username)
    await loginPageInstance.inputPassword(loginData.correctCredentials.password)
    await loginPageInstance.clickOnLoginBtn();