私は JS で Springer OpenAccess API を使用しています。それらは多くの方法でデータを提供します。そのうちの 1 つは jsonp 形式です。私のコードを以下に示します。私が何をしても、同期して実行することはできませんでした。コールバックメカニズムは良い解決策ですが、この関数を同期的に実行する方法、またはこの関数を同期的に動作させる方法を学びたいです。
どんな助けでも大歓迎です。
SpringerAPI.prototype.getArticleInfo = function(doi){
//create url of article according to given doi...
var url = this.endpoint.host+this.endpoint.method+''+'?q=doi:'+doi+'&api_key='+this.endpoint.apikey+"&callback=?";
//get information about article...
//perform async request to the Springer API
this.situation = true;
var article;
jQuery.ajax({
method:'POST',
url: url,
dataType: 'JSON',
cache: true,
async: false, // to set local variable
success: function(data)
{
article = FromSpringerToArticle(data,-1);
}
});
return article;
};