从 setTimeout 获取返回值[重复]

2023-11-27

我只想获取返回值setTimeout但我得到的是函数的完整文本格式?

function x () {
    setTimeout(y = function () {
        return 'done';
    }, 1000);
    return y;
}

console.log(x());

为此,您需要使用 Promise。他们是ES6 中可用但可以填充很容易:

function x() {
   return new Promise((resolve, reject) => {
     setTimeout(() => {
       resolve('done!');
     });
   });
}

x().then((done) => {
  console.log(done); // --> 'done!'
});

With async/await在 ES2017 中,如果在async功能:

async function() {
  const result = await x();
  console.log(result); // --> 'done!';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 setTimeout 获取返回值[重复] 的相关文章

随机推荐

  • 如何配置 CKEditor 以保留数据属性而不是删除它们?

    我使用 CKeditor 来编辑丰富的 HTML 页面 但某些 javascript 功能依赖于 CKeditor 的特殊属性 a 触发它们的标签 这些情况很少见 只有 5000 多条记录的数据库中的几条记录需要触发此功能 并且这个特定的
  • ActiveAdmin 和就地编辑

    我有一个系统 我使用 ActiveAdmin 来自动化后端 我想知道是否有人尝试对 ActiveAdmin 的表进行就地编辑 我看到一些有用的场景 键值表 如状态 类别等 和主从视图 订单和订单项 有人尝试过实施吗 有什么好的指点吗 我们使
  • Ansible:如果主机无法访问则中止执行

    摘要 如果任何主机无法访问 则立即中止 ansible playbook 的更好方法 如果任何一个主机无法访问 是否有办法中止 Ansible playbook 我发现 如果它无法到达主机 它仍然会继续并执行剧本中的所有戏剧 任务 我的所有
  • 为什么当使用相同状态调用 useState 时我的组件会呈现?

    我有一个带有布尔状态的简单功能组件 以及用于更改状态的按钮 它最初设置为true所以当我按下 true 按钮时 它不会渲染 但是 如果我按下 false 按钮 它会重新渲染 并且如果我再次按下 false 按钮 它会重新渲染 即使状态已经设
  • 发送多媒体命令

    Is there some way that I can send multimedia control commands like next song pause play vol up etc to the operating syst
  • 字段“___recordID”未标记为可查询

    我尝试下载具有特定记录类型的所有记录 该记录ID 与某个记录不匹配 但我收到错误 任何想法 我想我只能将手动添加的字段标记为可查询
  • 如何转换和提取Kafka接收器JDBC连接器中的字段

    我正在使用第 3 方 CDC 工具 将数据从源数据库复制到 Kafka 主题中 示例行如下所示 data USER ID string 1 USER CATEGORY string A beforeData Data USER ID str
  • 尝试重定向“git gc”输出

    我有一个 daily运行的 crontab 中的作业git gc在所有回购协议上 我正在尝试为该作业设置一个日志文件 但 I O 重定向不会产生我正在寻找的结果 我得到一个空白文件 我已经做了所有平常的事情 gt 2 gt 1等等都没有成功
  • iOS8 区域本地化(例如 pt-BR)?

    据我了解 iOS8 现在支持区域本地化 在本例中我想支持 pt BR See http www ibabbleon com iOS Language Codes ISO 639 html 我遇到了这个问题 使用全新的单视图应用程序对此进行测
  • 转储文件分析入门

    我正在使用旧版 VB6 COM 应用程序 该应用程序有时会导致 Windows 7 崩溃 我现在已经使用 Sysinternals 的 ProcDump 工具生成了其中一个崩溃的 dmp 文件 但是 我以前从未使用过转储文件 您会推荐哪些资
  • 从 ScrollView Swift 中删除子视图

    我使用 for 循环在滚动视图中创建标签和按钮 是否可以删除滚动视图内的所有对象 我想用新内容更新它 for peop in personArray scrollView clearContent Name label var label
  • 格式化 NSNumber 对象时如何指定小数位?

    我使用下面的一段 Objective C 代码来格式化 NSNumber 它在大多数情况下都工作正常 但是当 NSNumber 对象包含整数 没有小数部分 时 它并不能完全满足我的要求 UILabel label UILabel alloc
  • Python 多处理池卡住

    我正在尝试运行在网上找到的 python multiprocessing pool 模块的一些示例代码 代码是 def square x return x x if name main pool Pool processes 4 input
  • 如何区分类型是值类型还是引用类型?

    一些简单的类型 如 int string 等 很容易意识到它们是 ValueTypes 或 RefrenceTypes 但我想知道有什么方法可以区分吗 所有结构 枚举和本机类型都是值类型 在运行时你可以这样检查 Type type type
  • 如何为 HTTP GET 请求设置标头并触发文件下载?

    Update20140702 解决方案 详细答案作为博客文章 但我将其他答案之一标记为已接受 而不是我自己的 因为它让我成功了一半 并奖励我的努力 似乎无法通过以下链接设置 HTTP 请求标头 a href 并且只能使用XMLHttpReq
  • HTTP 请求在 Postman 中有效,但在 C# 代码中无效

    我想用 C 做一个简单的 HTTP 请求 但是有些东西不起作用 我得到的只是403 Forbidden状态码 当我尝试在邮递员中执行相同的请求时 一切正常 我尝试运行 Fiddler 并查看 Postman 发送的所有标头 我全部复制粘贴了
  • 我是否应该要求 IdP 签署 SAML2 SSO 响应?

    我们的应用程序具有与 3 个不同 Shibboleth IdP 的 SAML2 SSO 集成 我们正在尝试添加第四个 也是 Shibboleth 但遇到了一些问题 因为我们的应用程序期望所有 SSO 响应都经过验证签名 其他 3 个正在签署
  • 从 Nhibernate 执行的查询很慢,但从 ADO.NET 执行的查询很快

    我的 MVC 应用程序中有一个查询 大约需要 20 秒才能完成 使用 NHibernate 3 1 当我在 Management studio 上手动执行查询时 需要 0 秒 我在 SO 上看到过类似的问题 所以我进一步进行了测试 我使用
  • 是否可以为字符串文字创建模板化的用户定义文字(文字后缀)?

    当我发现可以制作用户定义的文字模板时 我感到很惊讶 template
  • 从 setTimeout 获取返回值[重复]

    这个问题在这里已经有答案了 我只想获取返回值setTimeout但我得到的是函数的完整文本格式 function x setTimeout y function return done 1000 return y console log x