我正在尝试使用redux-form的提交验证来使用jQuery Deferred Promises而不是本机JavaScript Promise。
我改变了示例 submit validation redux-form documentation
import { SubmissionError } from 'redux-form'
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
function submit(values) {
return sleep(1000) // simulate server latency
.then(() => {
throw new SubmissionError({ username: 'User does not exist', _error: 'Login failed!' })
}
})
}
我更新了sleep()函数以返回jQuery Deferred Promise:
const sleep = ms => {
const deferred = $.Deferred();
setTimeout(() => deferred.resolve(), ms);
return deferred.promise();
}
但是现在这个例子不再起作用了,我得到了一个 Uncaught SubmissionError:提交验证失败。
我做错了什么?