作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 koajs 框架在 Node 上使用 http.request。有没有一种方法可以利用它,如下所示?
var http = require('http');
var result = yield http.request(options);
最佳答案
大概你面临的问题是 http.request
需要一个回调而不是返回一个 promise ,所以你不能 yield
它来自 koa。您需要将 http.request
包装在一个返回 promise 的函数中,并将 promise 解析挂接到回调中,同时还将 promise 拒绝挂接到错误处理程序中。
function request(opts, body) {
return new Promise((resolve, reject) => {
body.pipe(http.request(opts, resolve))
.on('error', reject);
});
}
...稍后在您的 koa 函数中...
var response = yield request(opts, body);
这方面有太多可能的变体,我无法一一列举,但这是基本的想法:)
关于javascript - 如何在koa中使用 "http"模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344601/
我是一名优秀的程序员,十分优秀!