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

IIFE和then一起使用的问题

IIFE和then一起使用的问题

当年话下 2019-03-04 16:34:57
实例代码 我列出了所有的情况:问题是为什么 then 写法写在 IIFE 前面会报错,写在后面可以,而且两种写法单独使用也都是可以的const { baseUrl } = require('./_baseUrl')const fetch = require('node-fetch')const demo = async () => {    const url = baseUrl + '/base'    const res = await fetch(url)    const resData = await res.json()    return await resData.data.name}// 报错的写法demo().then(name => {    console.log(name)})(async () => {    const name = await demo()    console.log(name)})()// 成功的写法(async () => {    const name = await demo()    console.log(name)})()demo().then(name => {    console.log(name)})// 单独使用都可以(async () => {    const name = await demo()    console.log(name)})()// 单独使用都可以demo().then(name => {    console.log(name)})
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

demo()

.then(name => {

    console.log(name)

});


(async () => {

    const name = await demo()

    console.log(name)

})()

加一个分号就好了,那个地方js执行的时候把前后两部分当做函数执行了。


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信