Cloudkit ダッシュボードに保存されている値を入力したい HTML テーブルがあります。
レコードを正常に取得し、それらをテーブルに入力しました。気付いた問題は、しばらく時間を置いてテーブルを再度リロードしようとすると、一部のレコードが取得されないことです。その間、コードを変更していないので、これがどのように/なぜ起こっているのか非常に困惑しています。以下は私のコードとエラーログの例です:
public-query.js :
records.forEach(function(record) {
var fields = record.fields;
var tableActual = "<tr><td>" + record['created'].timestamp + "</td><td>" + fields['placeName'].value + </td></tr>
document.write(tableActual)
エラーログ:
Uncaught (in promise) TypeError: Cannot read property 'timestamp' of undefined
at public-query.js:49:73
at Array.forEach (native)
at public-query.js:47:29
たとえば、を削除すると<td>" + record['created'].timestamp + "</td>
、エラーログには次<td>
が未定義であると表示されます。
明確にするために、現在、タイムスタンプが正しく取得されているレコードがあり、コードを変更せずに、取得されていて現在は取得されていない他のレコードがありました。
3 行目のさまざまな部分でこのエラーをさまざまな時点で受け取りました (実際のコードには 16 個のフィールドがあります/ <td>
)。これらのフィールドがレコードに入力されていることはわかっており、それらのフィールドが入力されていないレコードも取得しました。
ここで何が起こっているのか分かりますか?これは Cloudkit のバグですか、それとも私が間違っているのでしょうか?