Javascript 执行回调函数后解析承诺
我有这样一个功能来重置文本输入:Javascript 执行回调函数后解析承诺,javascript,Javascript,我有这样一个功能来重置文本输入: function inputReset(){ const textarea = $("textarea").first(); textarea.fadeOut(2000, "swing", textareaAnimeEnded); function textareaAnimeEnded(){ // I'll do some stuff here and after 500 ms
function inputReset(){
const textarea = $("textarea").first();
textarea.fadeOut(2000, "swing", textareaAnimeEnded);
function textareaAnimeEnded(){
// I'll do some stuff here and after 500 ms I should resolve the inputReset function
return new Promise(resolve => setTimeout(() => resolve(), 500));
}
}
我想在另一个类似这样的函数中使用inputReset
:
async function foo() {
await inputReset();
}
执行
textareaAnimeEnded
函数500 ms后,如何解析承诺?您可以简单地使用setTimeout(),而不必使用承诺
function foo() {
setTimeout(() => {
textareaAnimeEnded();
}, 500)
}
您可以简单地使用setTimeout(),而不必使用承诺
function foo() {
setTimeout(() => {
textareaAnimeEnded();
}, 500)
}
提高承诺:
function inputReset() {
return new Promise(resolve => {
const textarea = $("textarea").first();
textarea.fadeOut(2000, "swing", textareaAnimeEnded);
function textareaAnimeEnded() {
// I'll do some stuff here and after 500 ms I should resolve the inputReset function
setTimeout(resolve, 500);
}
})
}
提高承诺:
function inputReset() {
return new Promise(resolve => {
const textarea = $("textarea").first();
textarea.fadeOut(2000, "swing", textareaAnimeEnded);
function textareaAnimeEnded() {
// I'll do some stuff here and after 500 ms I should resolve the inputReset function
setTimeout(resolve, 500);
}
})
}
inputReset
函数返回Promise
类型textAreaAnimeEnded
函数后解决inputReset
的承诺函数输入集(){
返回新承诺((解决)=>{
常量textarea=$(“textarea”).first();
textarea.fadeOut(2000,“swing”,async()=>{
console.log('Here');
等待文本区域动画显示();
返回resolve();
});
});
}
函数textareaAnimeEnded(){
//我会在这里做一些事情,500毫秒后,我应该解析inputReset函数
返回新承诺(resolve=>setTimeout(()=>resolve(),500));
}
异步函数foo(){
等待输入设置();
log('Hello');
}
textarea{
宽度:300px;
高度:300px;
}
asdfasdfasdfasdfasdf
福
inputReset
函数返回Promise
类型textAreaAnimeEnded
函数后解决inputReset
的承诺函数输入集(){
返回新承诺((解决)=>{
常量textarea=$(“textarea”).first();
textarea.fadeOut(2000,“swing”,async()=>{
console.log('Here');
等待文本区域动画显示();
返回resolve();
});
});
}
函数textareaAnimeEnded(){
//我会在这里做一些事情,500毫秒后,我应该解析inputReset函数
返回新承诺(resolve=>setTimeout(()=>resolve(),500));
}
异步函数foo(){
等待输入设置();
log('Hello');
}
textarea{
宽度:300px;
高度:300px;
}
asdfasdfasdfasdfasdf
福
“执行textareaAnimeEnded
函数500毫秒后,我如何解决承诺?”如果执行该函数,就会出现这种情况。如果它不起作用,您需要进一步解释。“在执行textareaAnimeEnded
函数500毫秒后,我如何解决承诺?”如果您执行该函数,就会出现这种情况。如果它不起作用,你需要解释更多。