我已经安装了request-promise库并试图在我的TypeScript应用程序中使用它,但没有太多运气。
如果我这样使用它:
import {RequestPromise} from'request-promise';
RequestPromise('http://www.google.com')
.then(function (htmlString) {
// Process html...
})
.catch(function (err) {
// Crawling failed...
});
我在TS编译输出上看到了这个:
error TS2304: Cannot find name 'RequestPromise'.
如果我这样使用它:
import * as rp from'request-promise';
rp('http://www.google.com')
.then(function (htmlString) {
// Process html...
})
.catch(function (err) {
// Crawling failed...
});
我看到一个错误,指出对象rp上没有'.then()'方法。
如何在TypeScript中正确使用它?
答案 0 :(得分:12)
您必须导入所有(*
)而不仅仅是RequestPromise
:
import * as request from "request-promise";
request.get(...);
This answer详细说明了import/from
和require
之间的差异。
答案 1 :(得分:2)
request-promise有一个用于打字稿的程序包
get(options).then(body => {
console.log(body)
}).catch(e => reject);
答案 2 :(得分:0)
我以这种方式使用请求承诺
import * as requestPromise from 'request-promise';
const options = {
uri: _url,
proxy: https://example.host.com:0000,
headers: {
Authorization: 'Bearer ' + token
}
};
requestPromise.get(options, (error, response) => {
if (error) {
// Do error handling stuff
} else {
if (response.statusCode !== 200) {
// Do error handling stuff
} else {
// Do success stuff here
}
}
});