我正在编写一个服务,供我的控制器在我的Sails.js应用程序中使用。
如果服务中出现错误,我想返回错误。我习惯了function callback(err, bar){ if (err) return error}
的语法。不过,我的情况略有不同。在以下代码中
function callBack(err, uploadedFiles){
if (err) return err;
if (uploadedFiles.length == {
return foo; //This is what needs to be of type "err"
}
});
}
}
所以我创建一个像
这样的JSON对象return { error: "error", message: 404}
我不知道该怎么做。
答案 0 :(得分:1)
为什么不使用sails函数进行回复?如果说傻话,我也是新人,请原谅。
如果你想发送一个404状态代码,用于Not Found错误,你可以使用sails提供的响应res.notFound(),如下所示:
return res.notFound({
message: "Some Message Here"
});
如果您想要显示完全自定义消息而没有任何状态代码(如404),请使用send()代替:
return res.send({
status: "404 or anything you like",
message: "Some Message Here"
});
很抱歉,res.send()也会生成一个状态代码,但它会是200,这意味着OK,所以它是一个成功代码。
答案 1 :(得分:0)
我相信它是:
public class Player {
private int hp = 100;
//with appropriate getters and setters, constructors etc.
}
public class Main{
Player player1 = new Player();
Player player2 = new Player();
//etc.
fightMonster(player1); //<--- I want to pass player1 to keep track of HP
}
public class fightMonster(something about player1){ //not sure what to put inside the ();
player1.setHp(player1.getHp - 10); //monster attacks and does 10 dmg
}
答案 2 :(得分:0)
您可以像这样在服务中引发404错误(假设您的服务需要异步工作):
var err = new Error('your message');
err.status = 404; // could be other HTTP status
return cb(err);
在你的调用函数中,你可以像这样处理错误:
SomeServices.somefunction(options, function (err, data) {
// res.negotiate(err) will automatically trigger res.notFound if err.status is 404
if (err) return res.negotiate(err);
/* your logic if not 404 */
}
这里的代码非常简单。这就是你想要的吗?