Its similar question from here How do I return the response from an asynchronous call?
in Ajax JSONP, how do i get the response after done?
https://jsfiddle.net/zerolfc/svwxm5tt/
class Api {
    constructor() {
    }
    yahoo(query) {
    }
    jsfiddle(query){
        let result = '';
        $.ajax({
            url: 'https://jsfiddle.net/echo/jsonp/',
            dataType: 'jsonp',
            jsonpCallback: 'jsonp',
            data: {
              query: 'query',
              format: 'json'
            },
        }).done(function(response) {
            result = response;
            console.log(result);
        });
        return result;
    }
}
$api = new Api;
console.log( $api.jsfiddle() ); // empty
 
     
    