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
语句,并且不会返回任何内容如何执行?删除返回
行