实例代码 我列出了所有的情况:问题是为什么 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执行的时候把前后两部分当做函数执行了。
添加回答
举报
0/150
提交
取消