【发布时间】:2017-06-19 17:41:20
【问题描述】:
我有一个函数,它从 npm 包 https://www.npmjs.com/package/get-port 返回一个承诺 getPort()。
我需要更改这个,这样我就可以停止代码,直到我没有价值。喜欢:
var port = getPortSync()
我不能使用生成器或等待/异步,因为代码实际上不在函数中。
基本上,我想在节点中执行readFileSync 之类的操作。
我这样做的原因是我有一堆 mocha 测试,其中变量声明在文件顶部,我需要在这些变量的声明/初始化之前检索空闲端口值,我想要更改最小行数。
我目前的尝试是:
var getPortSync = function() {
var port = null
getPort().then(function(freePort) {
console.log('port', freePort)
port = freePort
})
while (port === null) {
console.log('port: ', port)
}
return port
}
【问题讨论】:
-
两个问题:首先,为什么不直接在返回的 promise 的
then内进行 Mocha 测试?第二,你的尝试成功了吗? -
对不起,我忘了说它不起作用。我只是为了说明我需要什么。
标签: javascript node.js promise mocha.js