Javascript 文档不完整的google数据存储api返回未定义的transaction.get
这是数据存储库中的一个官方示例:Javascript 文档不完整的google数据存储api返回未定义的transaction.get,javascript,html,node.js,google-cloud-datastore,Javascript,Html,Node.js,Google Cloud Datastore,这是数据存储库中的一个官方示例: async function markDone(taskId) { const transaction = datastore.transaction(); const taskKey = datastore.key(['Task', datastore.int(taskId)]); try { await transaction.run(); const [task] = await transaction.get(taskKey
async function markDone(taskId) {
const transaction = datastore.transaction();
const taskKey = datastore.key(['Task', datastore.int(taskId)]);
try {
await transaction.run();
const [task] = await transaction.get(taskKey);
task.done = true;
transaction.save({
key: taskKey,
data: task,
});
await transaction.commit();
console.log(`Task ${taskId} updated successfully.`);
} catch (err) {
await transaction.rollback();
}
}
当我尝试此代码时,transaction.get
返回[undefined]
。因此,本例不处理任务可能不存在的事实。
并且在参考文档中没有用于事务的条目。get
是否必须显式检查结果,如果结果未定义,则抛出错误?数据存储也是如此。获取您的示例与页面中的示例类似。看起来在数据存储中找不到该任务。是的,在这两种情况下都需要显式检查
get()
的结果
在您的情况下,是否确实使用整数键id而不是字符串键名称保存了原始任务?您的示例与页面中的示例类似。看起来在数据存储中找不到该任务。是的,在这两种情况下都需要显式检查
get()
的结果
在您的情况下,是否确实使用整数键id而不是字符串键名称保存了原始任务