エラー:h1.js:25 Warning: a promise was rejected with a non-error: [object String]
約束は非エラー警告で拒否
全くわからない理由、エラーを理解する助けが大好きだし、それを引き起こしているもの。まだ約束とAJAXを学ぶので大いに助けてください! (例えば、私がこれを書いている私も、それはAjaxオブジェクトをラップする約束を持っている少し冗長だと思うが、正直なところ、私はそうでない場合は、再書き込みにどのようにそれを知っていない)
var logisticsModule = (function() {
return {
initialize: function() {
dateTimeFxns.getReservedDates.then(
// success
function(reserved_dates) {
console.log("success with value = " + reserved_dates)
},
function(error) {
console.log("error with value = " + error)
}
)
}
}
})();
var dateTimeFxns = {
getReservedDates: new Promise(function(resolve, reject) {
$.ajax({
// some url & data
})
.done(function(result) {
resolve(result)
}
.fail(function(error) {
reject(error)
}
})
}
$(document).ready(function() {
logisticsModule.initialize();
})
UPDATE警告メッセージがこれは単なるスローされたエラーがinstanceof Error
ないことを意味し
.fail(function(jqXHR, textStatus, errorThrown) {
reject(new Error(errorThrown))
})
はconsole.log(誤差)を行います。エラーはエラーがタイプのオブジェクトではないことを示していますエラー – linasmnew
文字列を取得しますが、 'Error'オブジェクトを作成することをお勧めします。したがって、あなたのリジェクト関数では 'reject(新しいエラー(エラー))'を行います。これは、実際にエラーが発生している点を除けば、別の問題です。利点:スタックトレースは 'Error'オブジェクトで利用可能です。 –
ありがとうございますが何らかの理由で問題が修正されていません。アップデートをご覧ください – james