实习测试框架 - 进行REST API调用

时间:2015-07-01 00:24:26

标签: rest chaining intern

我正在尝试如下所示进行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")
            })

我在这里遗漏了什么吗?如果这不是正确的方法,有人可以让我知道正确的方法。

感谢。

1 个答案:

答案 0 :(得分:0)

对于Leadfoot(Intern用来驱动功能测试的库)来跟踪异步操作,then回调中的异步操作应该返回Promises(或者thenables)。幸运的是,request会返回一个承诺,所以就这样做:

.then(function () {
    return request('...', function (...) {
       ...
    });
})