Node.js 当与async/await一起使用时,如何从承诺中获得价值?
我正在尝试使用async/await运行并行异步函数调用,但不确定如何从异步调用中恢复返回的对象Node.js 当与async/await一起使用时,如何从承诺中获得价值?,node.js,promise,async-await,Node.js,Promise,Async Await,我正在尝试使用async/await运行并行异步函数调用,但不确定如何从异步调用中恢复返回的对象 async function doit(){ const meta = call1; // async call 1 const data = call2; // async call 2 await meta; await data; console.log(meta); 输出是 Promise { Returned value } 那么如何从异步调用中获取返回值呢
async function doit(){
const meta = call1; // async call 1
const data = call2; // async call 2
await meta;
await data;
console.log(meta);
输出是
Promise { Returned value }
那么如何从异步调用中获取返回值呢
编辑:我正在尝试来自的示例。检查“小心!避免使用过多的顺序部分”。函数需要返回一个
承诺
'use strict';
async function doit() {
let [meta,data] = await Promise.all([call1(),call2()]);
console.log(meta);
}
函数需要返回一个承诺
'use strict';
async function doit() {
let [meta,data] = await Promise.all([call1(),call2()]);
console.log(meta);
}
如果您需要返回值,我将使用如下内容:
async function doit(){
// create all async requests
const metaReq = call1(); // async call 1
const dataReq = call2(); // async call 2
// wait for them
const [meta, data] = await Promise.all( [ metaReq, dataReq ] );
// use them
console.log(meta);
}
如果您需要返回值,我将使用如下内容:
async function doit(){
// create all async requests
const metaReq = call1(); // async call 1
const dataReq = call2(); // async call 2
// wait for them
const [meta, data] = await Promise.all( [ metaReq, dataReq ] );
// use them
console.log(meta);
}
这将创建一个顺序流。我正在尝试一个类似于这里描述的平行流。检查“小心!避免走得太顺”部分。有什么想法吗?@James您正在包装call1()和call2()的返回值吗?你能发布这个函数吗?这将创建一个顺序流。我正在尝试一个类似于这里描述的平行流。检查“小心!避免走得太顺”部分。有什么想法吗?@James您正在包装call1()和call2()的返回值吗?你能把这个功能贴出来吗?