繁体   English   中英

如何从 promise 和异步/等待 Node.js 中的 function 返回值

[英]How to return values from a promise and async / await function in Node.js

我是 Node.js 的新手并承诺。 我已经在 C# 中使用 async/await 完成了一些工作,但我在努力获取返回值。 我按照stackoverflow上的一个示例并将其复制到下面。 我稍微修改了它以代表我正在尝试做的事情,但它不起作用。 我希望有人能告诉我我错过了什么。 我创建了两个示例:一个使用 promise,另一个使用异步。 谢谢您的帮助!

let bar;
function foo() {
    return new Promise((resolve, reject) => { 
        setTimeout(function () {        
            resolve('wohoo')
        }, 1000)
    })
}

async function foo2() {
    setTimeout(function () {
        return ('wohoo')
    }, 1000);
}

function test3() {
    foo().then(res => {
        bar = res;
        console.log(bar) 
    });
}

async function test4() {
    let bar2 = await foo2();
    console.log('bar2=', bar2);
}

test3();
test4();
console.log('bar=', bar);
console.log('The end.');


The Output:
-----------
bar= undefined
The end.
bar2= undefined
wohoo


表格 promise:

var promise1 = new Promise(function(resolve, reject) {
  setTimeout(function() {
    resolve('foo');
  }, 300);
});

promise1.then(function(value) {
  console.log(value);
  // expected output: "foo"
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM