then
メソッドの代わりにisValid
メソッドを使用して、モデルをチェックするための小さなスクリプトを作成したいですか?Promise.resolveに実装を追加
$('button').click(function() {
let model = Promise.resolve({
then(x, y) {
let isValid = $('input[type=text]').val().length > 0;
x(isValid);
}
});
model.then(isValid => console.log(isValid));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<button>check</button>
私の目標:私が試した
if (model.isValid()) {
console.log('model is valid.');
}
:
$('button').click(function() {
let model = Promise.resolve({
isValid() {
let isValid = $('input[type=text]').val().length > 0;
return isValid;
}
});
if (model.isValid()) {
console.log('model is valid.');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<button>check</button>
then
メソッドを使用しています
エラーメッセージ:
Uncaught TypeError: 'model.isValid' is not a function
私の質問:どのように私はこのケースでisValid
関数を定義することができますか?
あなたは解決関数内でそのチェックを行う必要があります! – callback
プロミスを使用する理由は明確ではありません。あなたの質問に貼り付けなかった非同期検証はありますか? – Sergeon
@Sergeon私は約束を学んでいるので。 –