Javascript 为什么可以';我不能重新定义Body变量吗?

Javascript 为什么可以';我不能重新定义Body变量吗?,javascript,node.js,Javascript,Node.js,我正在尝试在.catch中重新定义JavaScript变量,但这不起作用 index.js: const Restra=异步函数(用户名){ 让状态; const Fetch=require(“节点提取”), Url=”https://instagram.com/“+用户名+”/?\u a=1” let Body=等待获取(Url)。然后((res)=>{ 状态=恢复状态 return res.json() }) .catch((e)=>{ if(status==404)返回console.er

我正在尝试在
.catch
中重新定义JavaScript变量,但这不起作用

index.js:

const Restra=异步函数(用户名){
让状态;
const Fetch=require(“节点提取”),
Url=”https://instagram.com/“+用户名+”/?\u a=1”
let Body=等待获取(Url)。然后((res)=>{
状态=恢复状态
return res.json()
})
.catch((e)=>{
if(status==404)返回console.error(“状态代码响应为404。请尝试其他帐户用户名”)
Body=null
})
返回console.log(Body)
}
Restra(“希望不存在的任何用户名”)
控制台输出:

C:\Users\Dimitri\Restra>节点。 状态代码响应为404。请尝试其他帐户用户名
未定义

据我所知,您想用
null
覆盖正文,但在覆盖
body
之前,您返回了
console.log()
,因此它从未到达该行。

据我所知,您想用
null
覆盖正文,但您返回的是
console.log()
在覆盖
正文之前
,这样它就永远不会到达该行。

catch所做的是,如果调用它的承诺被拒绝,则
catch
会将其转换为一个承诺,解析为
catch
中返回的值。由于您的
catch
没有返回任何内容,尽管您将
Body
重新分配给
null
,但一旦
.catch
和整个承诺链完成,未定义的
将分配给
Body

返回
catch
内的
null

const Restra=异步函数(用户名){
常量Url=”https://instagram.com/“+用户名+”/?\u a=1”
const Body=等待获取(Url)。然后((res)=>{
状态=恢复状态
如果(状态===404){
错误(“状态代码响应为404。请尝试其他帐户用户名”);
//进入陷阱:
}
return res.json()
})
.catch((e)=>{
返回null;
})
返回console.log(Body)
}

Restra(“WhaterVerUsernameThapoullyNotExists”)
catch
所做的是,如果调用它的承诺被拒绝,则catch会将它转换为一个承诺,解析为
catch
中返回的值。由于您的
catch
没有返回任何内容,尽管您将
Body
重新分配给
null
,但一旦
.catch
和整个承诺链完成,未定义的
将分配给
Body

返回
catch
内的
null

const Restra=异步函数(用户名){
常量Url=”https://instagram.com/“+用户名+”/?\u a=1”
const Body=等待获取(Url)。然后((res)=>{
状态=恢复状态
如果(状态===404){
错误(“状态代码响应为404。请尝试其他帐户用户名”);
//进入陷阱:
}
return res.json()
})
.catch((e)=>{
返回null;
})
返回console.log(Body)
}

Restra(“WhaterVerUsernameThapoullynotesists”)
有没有办法不返回任何内容?当然,只要省略
return
语句,就不会返回任何内容,怎么做?删除
return
行有没有办法不返回任何内容?当然,只要省略
return
语句,并且不会返回任何内容如何执行?删除
返回