このコードを使用して Facebook API からデータを取得し、Durandal を使用して表示しましたが、正常に動作しています。
return $.ajax({
url: 'http://graph.facebook.com/facebook?callback=?',
dataType: 'json',
}).promise();
getJSON を使用して同じことをしようとしていました
$.getJSON( "http://graph.facebook.com/facebook?callback=?");
次のコードを試しました。うまくいきませんでした。
var jqxhr = $.getJSON("http://graph.facebook.com/facebook?callback=?");
return jqxhr;
これにより、Facebookからデータが取得されます。
しかし、問題は約束を返すことです。durandal を使用しているので、モジュールが機能するように promise を返すことが重要です。
使用中にプロミスを返す方法はgetJSON
?
この私のデュランダル モジュール
define(function (require) {
return {
getCustomers: function () {
//do some ajax and return a promise
var jqxhr = $.getJSON("http://graph.facebook.com/facebook?callback=?");
return jqxhr;
}
};
});
これは私がそれを呼ぶところです
define(function (require) {
var backend = require('backend');
var ko = require('knockout');
return {
customers: ko.observableArray([]),
activate: function () {
var that = this;
return backend.getCustomers().then(function (result) {
var arr = [];
arr.push(result)
that.customers(arr);
});
}
};
});