Javascript 如何返回SweetAlert2输入的值?

Javascript 如何返回SweetAlert2输入的值?,javascript,sweetalert2,Javascript,Sweetalert2,这是我目前的代码 函数getInput(){ 喷火({ 输入:“文本”, })。然后((结果)=>{ 如果(结果){ 返回值(result.value); }); } 函数main(){ 如果(条件){ const test=getInput(); }否则{ //做点别的 } } 我知道这是不正确的,因为它返回未定义的值。我试图寻找一系列解决方案,但我总是得到未定义的值或承诺本身返回的值,不知道我应该如何获得值 我想做的是以某种方式返回SweetAlert2输入的值,以便在其他函数中使用它 编

这是我目前的代码

函数getInput(){ 喷火({ 输入:“文本”, })。然后((结果)=>{ 如果(结果){ 返回值(result.value); }); } 函数main(){ 如果(条件){ const test=getInput(); }否则{ //做点别的 } } 我知道这是不正确的,因为它返回未定义的值。我试图寻找一系列解决方案,但我总是得到未定义的值或承诺本身返回的值,不知道我应该如何获得值

我想做的是以某种方式返回SweetAlert2输入的值,以便在其他函数中使用它

编辑 我想我基本上得到了我想做的事情。我没有把
然后
处理程序放在
getInput()
中,而是把它放在
test
中,这样我就可以把剩下的代码放在处理程序中

函数getInput(){ 回注水沟火({ 输入:“文本”, }) } 函数main(){ 如果(条件){ const test=getInput(); 测试。然后((结果)=>{ 如果(结果){ //做事 } }); }否则{ //做点别的 } }
当您的程序无法确定返回值的时间时,使用a的理想用例

then
处理程序中,将调用回调函数,
input
将作为参数传递

函数getInput(cb){ 喷火({ 输入:“文本”, })。然后((结果)=>{ 如果(结果){ 返回cb(结果值); }); } } 主功能(输入){ 控制台日志(输入); }
getInput(main)
我明白了,我可能可以用我的代码来处理这个问题,但这并不是很理想,因为我的
main()
函数有一个if条件来控制是否使用SweetAlert2。使用回调将要求我将条件放在外部,这基本上消除了
main()的用途
function。我编辑了我的代码示例来演示我的意思。你是说
main
getInput
是独立的函数吗?@cosmosi如果是这样,我会将
input
的值存储在全局变量中,其余代码将基于
global
变量。