Javascript 在()之前进行内部异步调用
我需要请求一些json文件,其中包含我用于测试的数据。我想在setup方法中发出请求,但没有附加任何异步方法。当我运行下面的代码时,test login函数中的日志会在setup方法中的日志发送之前发送到控制台。是否有一种方法可以让安装程序在运行测试之前等待我的呼叫完成Javascript 在()之前进行内部异步调用,javascript,node.js,testing,intern,Javascript,Node.js,Testing,Intern,我需要请求一些json文件,其中包含我用于测试的数据。我想在setup方法中发出请求,但没有附加任何异步方法。当我运行下面的代码时,test login函数中的日志会在setup方法中的日志发送之前发送到控制台。是否有一种方法可以让安装程序在运行测试之前等待我的呼叫完成 define([ 'intern!object', 'pages/LoginPage', 'data-objects/DataFetcher' ], function(registerSuite, LoginPage
define([
'intern!object',
'pages/LoginPage',
'data-objects/DataFetcher'
], function(registerSuite, LoginPage, DataFetcher) {
registerSuite(function() {
var loginId = admin;
var password = test;
var regionData = US;
var loginPage = null;
return {
name: 'Login test',
setup: function() {
// Initialize page objects
loginPage = new LoginPage(this.remote, this.timeout);
// get test data
DataFetcher.getData(Pages.LoginPage).then(function(response) {
logger.info(DataFetcher.generateData(response));
});
DataFetcher.getData(Pages.TablePage).then(function(response) {
logger.info(DataFetcher.generateData(response));
});
DataFetcher.getData(Pages.PersonPage).then(function(response) {
logger.info(DataFetcher.generateData(response));
});
DataFetcher.getData(Pages.BasicInfoPage).then(function(response) {
logger.info(DataFetcher.generateData(response));
});
DataFetcher.getData(Pages.CompanyInfoPage).then(function(response) {
logger.info(DataFetcher.generateData(response));
});
},
login: function() {
logger.log('info', 'Login is ' + loginId + ' Password ' +
password);
return loginPage.load(regionData.BASE_URL)
.login(loginId, password)
.getAccumulatedState();
}
};
});
});
如果您从
设置
功能返回承诺,Intern将在开始测试之前等待其解决。您可以返回一个承诺。所有请求的所有(…)