【问题标题】:Promise.then() executing before the promise is resolvedPromise.then() 在 promise 解决之前执行
【发布时间】:2018-05-22 17:05:10
【问题描述】:

我对 Promise 有疑问。我有这个代码:

let line = hey.fetchBans().then(() => {
  myStuff();
  console.log(line);
});

问题是myStuff()fetchBans() 解决之前执行。我试图看看这是否是记录line 的真正问题,它会打印Promise { <pending> }

我做错了什么?

【问题讨论】:

  • 请提供有关 hey.fetchBeans 功能的更多信息 - 即它的源代码
  • “问题是 myStuff() 在 fetchBans() 解决之前执行” 如果我们假设 fetchBeans 返回您所说的承诺,则不是上面的代码直到myStuff 运行后才解决。请使用 minimal reproducible example 来更新您的问题,以展示问题,最好是使用 Stack Snippets([<>] 工具栏按钮;here's how to do one可运行
  • 我猜 Promise-status 会在 回调被调用之后更新。您应该将您的预期值作为回调的参数。

标签: javascript promise discord discord.js


【解决方案1】:

line 不是hey.fetchBans() 返回的承诺(并且在调用回调之前确实完成了),而是.then(…) 返回的承诺(并且将使用回调的结果值解决) .它总是在那个回调中等待处理。

【讨论】:

  • 非常感谢,我完全忘记了所有 Promise 的东西-_-'
猜你喜欢
  • 1970-01-01
  • 2017-02-18
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 1970-01-01
相关资源
最近更新 更多