Búsqueda de sitios web

javascript - ¿Cómo uso RequestPromise en TypeScript?


He instalado la biblioteca request-promise y estoy intentando usarla en mi aplicación TypeScript, pero sin mucho éxito.

Si lo uso así:

import {RequestPromise} from'request-promise';

RequestPromise('http://www.google.com')
        .then(function (htmlString) {
            // Process html...
        })
        .catch(function (err) {
            // Crawling failed...
        });

Veo esto en la salida de compilación de TS:

error TS2304: Cannot find name 'RequestPromise'.

Si lo uso de esta manera:

import * as rp from'request-promise';

rp('http://www.google.com')
    .then(function (htmlString) {
        // Process html...
    })
    .catch(function (err) {
        // Crawling failed...
    });

Veo un error que dice que no hay un método '.then()' en el objeto rp.

¿Cómo lo uso correctamente con TypeScript?

Respuesta #1

Debes importar todo (*) no solo RequestPromise:

import * as request from "request-promise";
request.get(...);

Esta respuesta elabora sobre las diferencias entre import/from y require.

Respuesta #2

request-promise tiene un paquete para TypeScript

npm i --save-dev @types/request-promise
import { get, put, post } from 'request-promise';

Uso

get(options).then(body => {

    console.log(body)

}).catch(e => reject);

Artículos relacionados