【问题标题】:Return value instead of promise in asynchronous javascript返回值而不是异步javascript中的承诺
【发布时间】:2021-02-11 06:56:15
【问题描述】:

您好,我需要异步获取一些数据,然后将其返回到导出的模块。我想知道除了带有异步函数的承诺之外是否可以返回任何东西,以便您可以将它们导出为模块。这是我的意思的一个例子:

module.exports = async (videoId) => {
  const test = await fetchPage({url: `https://www.youtube.com/watch?v=${videoId}`,})
  return test;
}

这段代码显然返回了一个promise,我想知道一旦异步创建第一个promise,是否有办法打破promise的循环?还是我应该围绕承诺重构我的代码?

【问题讨论】:

  • 不,这是不可能的。 Promise 代表 最终值,这正是您想要返回的值。
  • @elclanrs 好吧,所以链不能被破坏。关于重构我的代码以使其与 Promise 良好配合的任何一般提示?

标签: javascript node.js asynchronous fetch fetch-api


【解决方案1】:

你也可以写。

module.exports = (videoId) => {
   return fetchPage({url: `https://www.youtube.com/watch?v=${videoId}`,})
}

这将删除等待然后包装承诺

【讨论】:

    猜你喜欢
    • 2018-12-22
    相关资源
    最近更新 更多