为了账号安全,请及时绑定邮箱和手机立即绑定

JS Promises:分配给变量时,Promises 正在执行/解析

JS Promises:分配给变量时,Promises 正在执行/解析

慕勒3428872 2022-05-22 16:02:19
我正在尝试将 a 分配new Promise()给一个变量,然后将该变量推送到一个数组,从而产生一个承诺数组。然后,我想稍后在单击按钮时执行这一系列承诺。但是在将 分配Promise给变量时,它会立即执行。ProcessExamples(){    swal({        title : 'Get Examples?',        confirmButtonText: 'Yes',    }).then( aRes => {        if( aRes.value ){            let lAllPromises = ExampleClass.GetExamplePromises();        }    });}static GetExamplePromises(){    let lPromises = [];    Examples.forEach( aExample => {        let lPromise = new Promise( ( resolve, reject ) => {            resolve( true );        });        lPromises.push( lPromise );    });    return lPromises;}当 Promise 数组返回给ProcessExamples方法时,所有的 Promise 都已解决。这不是我想要的,我该怎么办?我试过用 - 替换 lambda ( resolve, reject ) => {},function( resolve, reject ) {}但什么也没做。我已经确定它在被推送到Promises数组之前就解决了,所以我假设它在被分配到lPromise
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

但是当将 Promise 分配给变量时,它会立即执行。

是的,这就是 Promise 构造函数所做的(它立即执行它的回调函数并传递它解析和拒绝函数,回调可以在完成时调用)。

如果你想要一些你可以稍后执行的东西,那么使用一个函数而不是一个 Promise。(该函数可以返回一个承诺)。


查看完整回答
反对 回复 2022-05-22
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号