首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Replit数据库获取密钥

从Replit数据库获取密钥
EN

Stack Overflow用户
提问于 2021-04-09 18:42:13
回答 1查看 828关注 0票数 1

这是我的密码:

代码语言:javascript
复制
const Database = require("@replit/database");
const db = new Database();

db.set("test", "wow").then(() => {});
console.log(db.list().then(keys => {}));

我已经安装了数据库包,它说我的repl的数据库部分中有一个键,但是它不是记录键列表的控制台,我没有收到错误。只有这一点在控制台中:

代码语言:javascript
复制
Promise { <pending> }
Hint: hit control+c anytime to enter REPL.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-09 18:57:31

似乎有两个问题:

  1. 这两个承诺链是断开的,因此它是setlist之间的一个竞争条件--它是不确定的,首先会触发。
  2. 使用thens - console.log()来同步记录一个悬而未决的承诺,而不是只在then回调中可用的已完成承诺的结果。

g 210

代码语言:javascript
复制
db.set("test", "wow")
  .then(() => db.list())           // ensure `list` runs after `set` resolves
  .then(keys => console.log(keys)) // ensure `keys` are logged after `list` resolves

您还可以使用async/await

代码语言:javascript
复制
(async () => {
  await db.set("test", "wow");
  const keys = await db.list();
  console.log(keys);
})();

这通常被认为是更直观的阅读,因为它类似于同步代码,但它只是then方法的语法糖。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67026674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档