IIFE. TypeError: require(...)(...) is not a function
IIFE. TypeError: require(...)(...) is not a function
运行 简单 脚本 。出错了。
const fetch = require("node-fetch")
const url = "https://www.someurl.com"
(async ()=>{
const response = await fetch(url)
const data = await response
console.log(data)
})()
错误
$ node api.js TypeError: require(...)(...) is not a function
我在这里错过了什么?
谢谢你。
Automatic Semicolon Insertion(ASI) 在某些情况下并不像您期望的那样工作。
IIFEs 属于其中一种情况,其中括号与前一行代码连接在一起。
为了改善这个问题,只需在您的 IIFE 前面加上分号:
const fetch = require("node-fetch")
const url = "https://www.someurl.com"
;(async () => {
const response = await fetch(url)
console.log(response)
})()
或者正如@estus 在评论中建议的那样,避免编写无分号的代码。
运行 简单 脚本 。出错了。
const fetch = require("node-fetch")
const url = "https://www.someurl.com"
(async ()=>{
const response = await fetch(url)
const data = await response
console.log(data)
})()
错误
$ node api.js TypeError: require(...)(...) is not a function
我在这里错过了什么? 谢谢你。
Automatic Semicolon Insertion(ASI) 在某些情况下并不像您期望的那样工作。
IIFEs 属于其中一种情况,其中括号与前一行代码连接在一起。
为了改善这个问题,只需在您的 IIFE 前面加上分号:
const fetch = require("node-fetch")
const url = "https://www.someurl.com"
;(async () => {
const response = await fetch(url)
console.log(response)
})()
或者正如@estus 在评论中建议的那样,避免编写无分号的代码。