我是Node.js的新手,并承诺。我已经在C#中使用async / await完成了一些工作,但是我在努力获得返回值。我遵循了一个关于stackoverflow的示例并将其复制到下面。我对其进行了少许修改,以表示我要执行的操作,但它不起作用。我希望有人可以告诉我我所缺少的。我创建了两个示例:一个带有承诺,另一个使用异步。谢谢您的帮助!
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
答案 0 :(得分:1)
形式承诺:
var promise1 = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('foo');
}, 300);
});
promise1.then(function(value) {
console.log(value);
// expected output: "foo"
});