create a synchronous http.get()

前端 未结 2 1392
长情又很酷
长情又很酷 2021-01-17 05:17

Im trying to handle a login via promises and http.get but i fail so hard I get following error :

Object doesn\'t support property or method \'toPromis

2条回答
  •  醉酒成梦
    2021-01-17 05:37

    If you want, you can use a TypeScript wrapper for sync-request library.

    This TypeScript strongly-typed, fluent wrapper library is ts-sync-request.

    ts-sync-request on npm

    With this library, you can make sync http calls like below:

    Your TypeScript classes:

    class Request
    {
        Email: string;
    }
    
    class Response
    {
        isValid: boolean;
    }
    

    Install package in project:

     npm i ts-sync-request
    

    Then

    import { SyncRequestClient } from 'ts-sync-request/dist'
    

    GET:

        let email = "jdoe@xyz.com";
        let url = "http://localhost:59039/api/Movies/validateEmail/" + email;
    
        var response = new SyncRequestClient()
                                    .addHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NDc2OTg1MzgsIm5iZiI6MTU0NzY5NDIxOCwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbmFtZSI6InN0cmluZyIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6InN0cmluZyIsIkRPQiI6IjEvMTcvMjAxOSIsImlzcyI6InlvdXIgYXBwIiwiYXVkIjoidGhlIGNsaWVudCBvZiB5b3VyIGFwcCJ9.qxFdcdAVKG2Idcsk_tftnkkyB2vsaQx5py1KSMy3fT4")
                                .get(url);
    

    POST:

        let url = "http://localhost:59039/api/Movies/validateEmailPost";
        let request = new Request();
        request.Email = "jdoe@xyz.com";
    
        var response = new SyncRequestClient()
                                    .addHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NDc2OTg1MzgsIm5iZiI6MTU0NzY5NDIxOCwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbmFtZSI6InN0cmluZyIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6InN0cmluZyIsIkRPQiI6IjEvMTcvMjAxOSIsImlzcyI6InlvdXIgYXBwIiwiYXVkIjoidGhlIGNsaWVudCBvZiB5b3VyIGFwcCJ9.qxFdcdAVKG2Idcsk_tftnkkyB2vsaQx5py1KSMy3fT4")
                                .post(url, request);
    

    Hope this helps.

提交回复
热议问题