【发布时间】:2016-09-20 21:49:59
【问题描述】:
您好,我正在尝试让 Unirest 返回一个承诺,以便我可以创建一个函数,从外部进程调用它并将响应返回给调用进程。但是,我不知道如何获得返回响应的承诺。
这是我目前所拥有的:
const unirest = require('unirest');
function auth() {
yield unirest.post('https://xxx.xxx.xxx.xxx/authorize/')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json'})
.send({"Username": "user1", "Password": "password"})
.end().exec();
}
auth()
但是这会引发以下错误:
yield unirest.post('https://xxx.xxx.xxx.xxx/authorize/')
^^^^^^^
SyntaxError: Unexpected identifier
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:528:28)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.runMain (module.js:590:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
【问题讨论】:
-
为什么收益而不是回报?看起来不像发电机,
-
我遵循这里提出的建议:github.com/Mashape/unirest-nodejs/pull/60
-
那个问题仍然存在,你确定 unirest 甚至在这一点上返回了一个承诺吗?该更改似乎尚未应用。
-
嗯。好吧,也许它没有,我误读了这个问题。我想我需要在这种情况下寻找替代方案。
标签: javascript node.js promise unirest