배달 객체를 업로드하는 응용 프로그램에 업로드 버튼이 있지만 웹 객체에 도착하면 전달 객체가 null 인 경우가 있습니다.이 LINQ 코드를 루프로 변환하십시오 (또는이 객체가 때때로 null 인 이유)
전체 코드는 아래에 있습니다. 그러나이 비트는 제가이 문제를 푸는 데 문제가 있습니다. 나는 이것이 LINQ 코드라고 믿는다. 그래서 아무도 내가 루프로 다시 변환하도록 도와 줄 수있다. 왜 deliveries
객체가 null일지도 모르겠다.
var deliveries = Enumerable.From(results).Select(function (r) {
r.transactionDate = r.transactionDate.format("YYYY-MM-DD HH:mm:ss");
return r;
}).ToArray();
전체 코드 :
가me.uploadClicked = function() {
playClicked();
coreViewModel.busyMessage("Processing delivery data...");
deliveryRepository.GetTodaysDeliveries(function (results) {
var deliveries = Enumerable.From(results).Select(function (r) {
r.transactionDate = r.transactionDate.format("YYYY-MM-DD HH:mm:ss");
return r;
}).ToArray();
window.setTimeout(function() {
coreViewModel.busyMessage("Uploading delivery data...");
var objUploadDeliveries = Object.create({
objStore: Object.create({
storeTypeID: coreViewModel.store.storeTypeID(),
storeID: coreViewModel.store.id()
}),
objDeliveries: deliveries
});
var comm = new URLHelper();
var xhr = $.ajax({
url: comm.hosturl() + "UploadDelivery",
type: 'POST',
beforeSend: function(xh) { xh.setRequestHeader("token", coreViewModel.token); },
data: objUploadDeliveries,
dataType: 'json',
success: function (result) {
if (!result) {
playError();
return;
}
playUploadComplete();
},
error: function (x, e) {
playError();
errorHandler(x, e);
},
timeout: 60000
});
}, 20000);
});
}
GetTodaysDeliveries 함수는 다음과 같다 : 다음과 같이
GetTodaysDeliveries: function (callback) {
deliverysDatabase.GetDeliveries(function (results) {
$.each(results, function (index, result) {
result.transactionDate = moment(result.transactionDate).utc();
});
var todaysResults = Enumerable.From(results).Where(function (r) {
return moment().isSame(r.transactionDate, 'day');
}).ToArray();
return callback(todaysResults);
});
}
그 내부 deliverydatabase.GetDeliveries 함수이다
GetDeliveries: function (callback) {
var me = this;
db.transaction(
function (context) {
context.executeSql("SELECT barcode, titleName, delivered, expected, isNews, supplier, supplierId, transactionDate FROM delivery ORDER BY titlename", [], function (context, result) {
if (result.rows.length > 0) {
var results = [];
for (var i = 0; i < result.rows.length; i++) {
results.push(result.rows.item(i));
}
return callback(results);
} else {
return callback([]);
}
}, me.ErrorHandler);
}
, me.ErrorHandler);
}
그래서 더 자세히 살펴보고 왜 결과가 비어있는 지 알아 내야합니다. unLINQed 코드가 정말 도움이되었습니다. 감사합니다. – RussAwesome