嗨,我有一个要求,我需要等待确认完成。
**注意:**我不能在click(大块)内触摸我的前辈的下面代码或用.then(function(){..});
Package 它们
这是我尝试过的,但给出了错误:
async function showConfirmationAndWait(){
$.alertable.confirm('You sure?').then(function() {
return new Promise(function(res,rej){
res({confirmed:true});
});
}, function() {
return new Promise(function(res,rej){
res({confirmed:false});
});
});
}
$('#await').on('click',function(){
var promiseObj = await showConfirmationAndWait(); //throwing error
//...... big code with its own function call that i don't want to touch
});
字符串
**问题:**我想等到确认完成,而不是用.then(function(){..});
Package 整个代码
以下是我尝试过的:
async function showConfirmationAndWait(){
$.alertable.confirm('You sure?').then(function() {
return new Promise(function(res,rej){
res({confirmed:true});
});
}, function() {
return new Promise(function(res,rej){
res({confirmed:false});
});
});
}
$(function(){
$('#await').on('click',function(){
var promiseObj = await showConfirmationAndWait(); //commented due to error
console.log('after await promiseObj',promiseObj);
//...... big code with its own function call that i don't want to touch
});
});
<link href="https://cdn.rawgit.com/claviska/jquery-alertable/master/jquery.alertable.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.2.3/velocity.min.js"></script>
<script src="https://rawgit.com/claviska/jquery-alertable/master/jquery.alertable.min.js"></script>
<button id="await">Show confirmation wait and proceed next line</button>
的数据
2条答案
按热度按时间lyfkaqu11#
您需要重写
showConfirmationAndWait
以实际等待确认并返回结果。同时将整个处理程序标记为
async
。个字符
prdp8dxp2#
这是行不通的
字符串
这将工作
型