我正在尝试如下所示进行REST API调用,一旦调用完成,我想打印“完成”。 但是在下面的示例中,“完成”即使在REST调用完成之前也会打印出来。
return this.remote
.then(function() {
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Show the HTML for the Google homepage.
}
})
})
.then(function() {
console.log("Done")
})
我在这里遗漏了什么吗?如果这不是正确的方法,有人可以让我知道正确的方法。
感谢。
答案 0 :(得分:0)
对于Leadfoot(Intern用来驱动功能测试的库)来跟踪异步操作,then
回调中的异步操作应该返回Promises(或者thenables)。幸运的是,request
会返回一个承诺,所以就这样做:
.then(function () {
return request('...', function (...) {
...
});
})