在一个类方法中,我通过一个异步函数this.retrieveData()
检索了一些数据。这个方法返回给我的数据,我打算把它传递给另一个叫做renderTemboard()
的函数。
async getTemplateHtml() {
const data = await this.retrieveData()
const html = renderTemplate(`some html template`, {stuff: data}
return html
}
然而,问题是this.retrieveData()
实际上以Promise的形式返回一个Promises数组
我无法传递从此
返回的
数据。retrieveData()
直接插入到renderTemplate()
的第二个参数中,因为数据中的元素仍然包装在promise中。我无法更改renderTemplate()
函数的第二个参数,因为它来自npm库。
我怎样才能以某种方式解决包裹在数据中的Promises中的值,以便我可以将其传递到renderTemboard()中,因为它的实际值从其Promise中解包?
如果检索数据返回一个promise数组,它应该是:
const data = await Promise.all(this.retrieveData());
这将promise数组映射为值数组。
我正试图从两个异步函数向一个函数传递两个值,但我不确定如何继续。代码如下: 我知道问题是我在异步函数之外调用函数,所以它不接收数字,它给我一个NAN(不是数字),但我不知道如何正确传递这两个在不同函数中检索的参数,有没有可能将btcPriceInUSD和priceExchangeMXN合并在一起并从那里调用它? 提前道谢!
我正在使用无法修改的同步第三个功能,例如: 生成一个新的线程来完成这项工作,并立即返回,当事情完成时,我的onDone函数将被调用。 我想写一个异步方法来包装,这样有人可以这样调用它: 在中,我调用来做真正的事情。但是我不知道如何编写。 有人能告诉我这是否可能,以及怎么做吗?谢谢。
我试图理解promise、回调等在node.js中是如何工作的,特别是在访问函数之外的值的情况下。我花了一些时间在这里浏览答案如何从异步调用返回响应?在这里调用条纹API等待,但我尝试的每一个变化,我总是以'订阅'函数之外未定义结束。 谢啦
问题内容: 这似乎是一个愚蠢的问题,但是我是这个话题的新手。我正在致力于关于节点js的承诺。我想将参数传递给Promise函数。但是我不知道。 而功能类似于 问题答案: 将Promise包裹在一个函数中,否则它将立即开始工作。另外,您可以将参数传递给函数: 然后,使用它: ES6: 用:
问题内容: 假设您维护一个公开一个函数的库。您的用户调用它来获取实际数据: 数据被保存在文件中,因此您可以使用内置的Node.js来实现。很明显这两个和是同步的功能。有一天,您被告知将基础数据源切换到只能异步访问的仓库(例如MongoDB)。还被告知要避免惹恼您的用户,API不能更改为仅返回promise或要求回调参数。您如何满足这两个要求? 使用回调/承诺的异步功能是JavasSript和Nod
我正在使用编写promise代码。然后现在,我决定使用wait/async编写它。我在promise中调用了一个函数add_,然后在中调用了另一个函数。然后是该函数的一部分。这是我使用的代码。然后 这是使用wait/async的代码。 使用await/async的代码显示了一个错误,即add\u lessons是意外标识符。那么,告诉我如何在promise中定义异步函数?