我有一个使用angular的asp.net-mvc应用程序。我有一个get方法,从服务器返回一些数据。我返回的是Tuple
,其中包含状态消息和第二条数据,这些数据是错误消息或实际数据。例如:
return Json(new Tuple<string, string>("error", "bad request"));
//or
return Json(new Tuple<string, MyData>("success", new MyData());
这工作正常,我做了以下几点:
$http.get(url).then(
function (result) {
return result.data;
},
function (result) {
$q.reject(result.data);
}
此处,result.data.Item1
是我Tuple
但是,我将我的返回类型从Tuple
更改为我创建的新自定义类型,如下所示:
public class ServerResponse <T1, T2, T3>
{
T1 status { get; set; }
T2 message { get; set; }
T3 data { get; set; }
public ServerResponse(T1 status, T2 message, T3 data)
{
this.status = status;
this.message = message;
this.data = data;
}
}
但现在我这样做了:
result.data.status
我没有得到预期的结果,因为result.data
正在返回这样的内容:
__proto__ : Object
我不知道如何解决这个问题。
答案 0 :(得分:0)
环顾四周并与 Observable<Integer> o1 = getSomeInts();
Observable<Long> o2 = getSomeOtherLongs();
o1.forEach(it -> sendSomeEvent(it)); // doesn't have to be forEach
o2.forEach(it -> sendSomeOtherEvent(it));
// block until o1 and o2 are complete
课程进行比较后,我发现我的Tuple
课程属性未标记为ServerResponse
,因此无法找到它们。制作public
之后,问题就消失了