私はJSにかなり慣れていません。サーバーへの一般的なフェッチの一部を行うヘルパー クラスがあります。現在、これらの関数の 1 つが次のようになります。
getAvailablePlatforms: function (platform) {
var self = this;
if (_.isUndefined(platform) || platform == '') {
platform = "crystalproject";
}
$.ajax({
url: '/api/platform/' + platform,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
console.log("Got data");
self.platforms = data;
self.eventAggregator.trigger('getplatforms');
},
});
}
したがって、これをより柔軟にするために試みたかったのは、コールバック関数を渡すことでした。だから私はこれを試しました:
getAvailablePlatforms: function (platform, callback) {
var self = this;
if (_.isUndefined(platform) || platform == '') {
platform = "crystalproject";
}
$.ajax({
url: '/api/platform/' + platform,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
console.log("Got data");
self.platforms = data;
self.eventAggregator.trigger('getplatforms');
if (callback && typeof(callback) === "function") {
callback(data);
}
},
});
}
私がそれをどのように呼びたいかは、次のようなものです:
var helper = new Helper();
helper.getAvailablePlatforms('', this.populatePlatforms(???????));
コールバック関数がコールバックで受信したデータを使用するようにします。どうすればそれを達成できますか?ありがとうございます!