【发布时间】:2015-07-09 21:49:13
【问题描述】:
我有一个 html 页面,页面加载后会请求凭据。一旦提交了正确的凭据,就会执行异步函数。异步函数返回一个承诺。一旦 promise 被解决,一个节点就会被插入到带有响应文本的 dom 中。
var executeRequest = Request(req);
executeRequest.then(function(response) {
var node = domConstruct.toDom("<div id='text'></div>");
domConstruct.place(node, "title", "after");
node.innerHTML = JSON.stringify(response);
});
但是测试没有完全执行,因为它没有等待承诺得到解决。
var dfd = this.async(15000);
return this.remote
.get(require.toUrl(url))
.setFindTimeout(5000)
.elementById('dijit_form_ValidationTextBox_0')
.click()
.type('user1')
.end()
.elementById('dijit_form_ValidationTextBox_1')
.click()
.type('user1')
.end()
.elementById('dijit_form_Button_0')
.click()
.end()
.waitForElementById('text')
.text()
.then(dfd.rejectOnError(function(result) {
assert.equal(result.length, 2, 'When form is submitted, operation should complete successfully');
dfd.resolve();
}), dfd.reject);
我做错了什么?
【问题讨论】:
标签: javascript asynchronous dojo intern