如何从类返回异步数据

时间:2019-06-18 21:17:38

标签: javascript ajax oop

我设置了一个简单的类:

Class API {
    #url = 'http://example.com/api/endpoint';

    get( requested_api_data ) {
        let data = {
            requested_api_data 
        };

        $.post(this.#url, data)
            .done(function(r){
                r = JSON.parse(r);

                if( r.hasOwnProperty('success') && r.success ) {
                    return r.data; // <-- I want to return this from the API itself
                } else {
                    return 'Something went wrong when loading data'; <-- I want to return this from the API itself
                }
            })
            .fail(function(r){
                return 'A secure connection could not be established'; <-- I want to return this from the API itself
            });
    }
}

我想这样使用它:

let api = new API();
let some_api_data = api.get('user_favorites');

我来自PHP背景,所以我认为我已经解决了这个错误。我需要将这些值返回到API之外,但我无法弄清楚这样做的语法。具体来说,我的返回值将返回到.done.fail调用的匿名函数中。 JavaScript的异步特性使我无法接受,因为我显然不能在上面声明一个变量,用ajax结果填充该变量,然后将其返回。

谢谢。

0 个答案:

没有答案