行囊电子商务 2021-10-27 16:46 采纳率: 75.8%
浏览 63
已结题

js里()().then()是什么写法

              (async ()=>{
                const arr = []
                for (let item of res.tempFilePaths) {
                  // 依次上传
                  const src = await upload(item)
                  arr.push(src)
                }
                return arr
              })().then(res => {
                wx.hideLoading()
                resolve(res)
              })

这段代码是不是promise的简写?第一次见()().then();
有没有相关写法资料

  • 写回答

2条回答 默认 最新

  • 在下月亮有何贵干 优质创作者: 前端开发技术领域 2021-10-27 16:58
    关注

    分开说,()()是直接调用函数的意思的意思,可以不用声明函数名称直接调用,
    你这里调用的就是()=>{...}
    然后由于这个箭头函数

    ( async ()=>{...} )()
    

    然后就是.then了,涉及到promise,只有前面的返回结果是promise时才可以进行.then下一步回调
    但是为什么这里没有出现promise还可以使用.then呢
    因为异步async函数返回值会被自动转化为promise
    也就是arr会变成promise返回

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日