使用Promises和函数的节点js不返回任何内容

时间:2018-03-30 16:38:00

标签: javascript node.js webdriver-io

我在Node js中有一个测试脚本,理想情况下应该按顺序运行。有些功能不返回任何东西,只是执行某些操作,如导航到菜单或按键。另外,在我的测试中,我正在进行GET和POST请求。因为有时如果我有10个步骤并且请求是第5步,有时步骤6和7在5之前执行。我明白我应该使用promises或回调。但我不确定如何在不返回任何东西的函数中使用它们。 这是我的代码看起来像

browser.url(browser.options.baseUrl);
browser.waitForVisible(myLibraryPO.pageTitle, 15000, false);
let token = getTokenFromLocalStorage()
settingsPO.resetProgram(token); // POST call
browser.refresh();
guidePO.launchA();
guidePO.launchB();
guidePO.filter('NEWS');
guidePO.switchToC();
verifySettings(token,'NEWS'); // GET call

1 个答案:

答案 0 :(得分:0)

完成执行功能后,您只需致电resolve()reject()

doSomething() {
  return new Promise((resolve, reject) => {
    //do some stuff...

    if(done) {
      resolve();
    }

    //call reject if something isn't right
    reject('something went wrong');
  });
}

调用doSomething看起来像这样:

doSomething().then(() => {
  //you did something and returned an empty promise
});

await doSomething();