私たちは Windows 8 JavaScript アプリに取り組んでおり、必要な操作を実行するために必要なすべてのフレームワークを作成しました。フレームワークはあらゆる場所で jQuery コードを使用します。
現在、バックグラウンド タスクでも同じフレームワークを使用する必要がありますが、jquery には有効なウィンドウ オブジェクトがないため、バックグラウンド タスクではサポートされていないことが判明しました。
jquery のいくつかのメソッドしか使用していないため、バックグラウンド タスクで使用すると jQuery として機能するラッパー クラスを作成することにしました。
winJs.promise を使用した jquery の遅延機能の実装に行き詰まっています。問題は、jQuery では .done().fail() を使用して解決と拒否を処理することですが、winjs.promise では、.done() はメソッド キューの最後に実装され、fail メソッドはありません。
fail メソッドを実装しようとしましたが、.done().fail() を実装できませんでした。
ラッパー クラスで winjs.promise を使用して実装する方法を誰か提案してもらえますか?
var $ = (function () {
function $() {
}
$.deferred = function () {
// implement deferred using WinJs.Promise
}
次に、これをフレームワークで次のように使用します。
function divide(num1, num2) {
var deferred = $.deferred();
if (num2 > 0) {
return deferred.resolve(num1 / num2);
}
else {
return deferred.reject("num2 can't be zero");
}
}
divide(1, 2).done(function (value) {
console.log('Anser is:' + value);
}).fail(function (value) {
console.log('Error: ' + value);
});