![](/img/trans.png)
[英]Javascript Promise: Return 'In Progress' Response Until Promise Resolves?
[英]javascript: don't return until a promise resolves
我需要等到一个诺言解决之后,才能从函数中返回。 基本上,我需要同步执行某些操作,而JavaScript似乎并不喜欢这个想法。
这是一个简单的例子。 我有一个返回承诺的函数,但是直到另一个承诺解决后才能创建承诺。 结果是我的代码如下所示:
const lib = require('lib')
var ret_promise
lib.func1().then(() => {
ret_promise = lib.func2()
})
return ret_promise
问题在于创建外部承诺,然后立即将其移至返回值,并返回undefined
因为then
尚未执行。 我不能将return
放到then
,因为将要发生的一切就是从内部箭头函数返回。
我该怎么做呢? 可能吗?
注意:我正在使用节点6。我不能使用async/await
亲密无间,您真正需要更改的只是返回原始的诺言,然后在其中。然后返回第二个诺言。 一旦第二个承诺解决,从函数返回的承诺就会解决。
const lib = require('lib')
var ret_promise = lib.func1().then(() => {
return lib.func2()
})
return ret_promise
可以简化为
const lib = require('lib');
return lib.func1().then(() => lib.func2());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.