私がやりたいことを実行するこのコードスニペットを見つけました:
var promise = this.model.save();
$.when(promise).then(function() {
console.log(promise.responseText);
});
responseText
バックボーン コールからへの を戻したいですthis.model.save()
。このコードはここに文書化されています。console.log()
しかし、呼び出しで生のテキスト文字列を取得しても、何もログに記録されません。
誰かがjQueryの約束とは何かを素人の言葉で説明してもらえますか? 私はそれらについて読んだことがありますが、私はそれらが何であるかを完全に理解しているとは思いません. これは、このコードが機能しない理由を理解するのに役立つかもしれません。console.log(promise)
コードの 1 行目と 2 行目の間にある場合は、 responseText
. $.when
そのため、または のいずれかで何かがthen
発生しており、これが問題を引き起こしています。
編集:
この記事を読んだ後、私はこれができることを発見しました:
var promise = this.model.save();
$.when(promise).then(null, function(obj) {
console.log(obj.responseText);
});
null
しかし、私は が何を表し ているのか理解できません。then
成功関数と失敗関数の 2 つのパラメーターを取るようです。しかし、成功関数が最初ではないでしょうか? サーバーから 200 の応答が返ってきました。