Node.js 量角器配置onPrepare方法进行异步调用。如何阻止测试启动?

Node.js 量角器配置onPrepare方法进行异步调用。如何阻止测试启动?,node.js,protractor,Node.js,Protractor,我的量角器配置文件需要执行一些异步工作(例如,下载库和额外的文件系统准备)。如何强制量角器阻塞,直到所有这些异步工作完成 以下是我所拥有和需要的简化: var fs = require('fs'); var http = require('http'); exports.config = { onPrepare: function () { if (noPreparationNeeded()) { return; }

我的量角器配置文件需要执行一些异步工作(例如,下载库和额外的文件系统准备)。如何强制量角器阻塞,直到所有这些异步工作完成

以下是我所拥有和需要的简化:

var fs = require('fs');
var http = require('http');

exports.config = {
    onPrepare: function () {
        if (noPreparationNeeded()) {
            return;
        }
        http.get('http://mydriver.company.com', function(res) {
            res.on('data', function(data) {
                file.write(data);
            }).on('end', function() {
                file.end();
                console.log('Driver download complete');
            });
         })
    }
};

目前,测试将在下载完成之前开始。我该如何防止这种情况发生?

你需要q来回报你的承诺。以下是一个例子:


Neato!这正是我需要的。谢谢。
onPrepare:function(){return q.fcall(function(){browser.params.password='12345';}).delay(1000);}
。在这里复制答案,以防原始要点消失。