(RESTFUL api Javascript get函数) 映射中找不到账号如何return 0?
(RESTFUL api Javascript get function) How to return 0 if account is not found in mapping?
我有映射
"balances": {
"1": "1000",
"2": "2000",
"3": "3000",
}
找不到账号怎么办return0?
到目前为止我的代码是
app.get('/GetBalanceByAddress/:id', function (req, res) {
res.end(JSON.stringify(balances.balances[req.params.id], null, 4));
});
例如,现在
/GetBalance/1 returns 1000
/GetBalance/2 returns 2000
/GetBalance/3 returns 3000
和/GetBalance/4 return没什么。
如何将 /GetBalance/(AnyNonExistentAddress) 设置为 return 0?
你可以包裹在一个 try/catch 块中
app.get('/GetBalanceByAddress/:id', function (req, res) {
try{
res.end(JSON.stringify(balances.balances[req.params.id], null, 4));
});
}
catch{
return 0;
}
好的,请使用 try catch 或 if 语句。
app.get('/GetBalanceByAddress/:id', function (req, res) {
try{
res.end(JSON.stringify(balances.balances[req.params.id]));
}
catch{
res.end("0");
}
});
或
app.get('/GetBalanceByAddress/:id', function (req, res) {
if (balances.balances[req.params.id]) {
res.end(JSON.stringify(balances.balances[req.params.id]));
}
else {
res.end("0");
}
});
如果您使用的是兼容 ES2020 的浏览器,则可以使用 nullish coalescing operator
:
const balances = { "balances": {
"1": "1000",
"2": "2000",
"3": "3000",
}
};
let id = 1;
console.log(balances.balances[id] ?? 0);
id = 4;
console.log(balances.balances[id] ?? 0);
我有映射
"balances": {
"1": "1000",
"2": "2000",
"3": "3000",
}
找不到账号怎么办return0?
到目前为止我的代码是
app.get('/GetBalanceByAddress/:id', function (req, res) {
res.end(JSON.stringify(balances.balances[req.params.id], null, 4));
});
例如,现在 /GetBalance/1 returns 1000
/GetBalance/2 returns 2000
/GetBalance/3 returns 3000
和/GetBalance/4 return没什么。
如何将 /GetBalance/(AnyNonExistentAddress) 设置为 return 0?
你可以包裹在一个 try/catch 块中
app.get('/GetBalanceByAddress/:id', function (req, res) {
try{
res.end(JSON.stringify(balances.balances[req.params.id], null, 4));
});
}
catch{
return 0;
}
好的,请使用 try catch 或 if 语句。
app.get('/GetBalanceByAddress/:id', function (req, res) {
try{
res.end(JSON.stringify(balances.balances[req.params.id]));
}
catch{
res.end("0");
}
});
或
app.get('/GetBalanceByAddress/:id', function (req, res) {
if (balances.balances[req.params.id]) {
res.end(JSON.stringify(balances.balances[req.params.id]));
}
else {
res.end("0");
}
});
如果您使用的是兼容 ES2020 的浏览器,则可以使用 nullish coalescing operator
:
const balances = { "balances": {
"1": "1000",
"2": "2000",
"3": "3000",
}
};
let id = 1;
console.log(balances.balances[id] ?? 0);
id = 4;
console.log(balances.balances[id] ?? 0);