【发布时间】:2021-10-01 08:15:28
【问题描述】:
我看到将async 放在 JS 函数前面会返回一个 Promise。
我现在拥有的:
async function asyncTest(p) {
return p;
}
let www = asyncTest(1)
console.log('www ', www); // returns Promise {<fulfilled>: 1}, see image
我想知道我是否可以在async 中使用它来解决和拒绝,就像典型的new Promise((resolved, rejected).... 一样
我想做的事:
async function asyncTest(p, (resolved, rejected)=>{
resolved(p);
})
let www = asyncTest(1)
console.log('www ', www); // I want it to return 1
这可能吗?
【问题讨论】:
-
async函数 always 返回承诺(new Promise((resolve, reject) => ...)也是如此),如果没有await或 @,您无法以某种方式重新同步它以获取值987654331@. -
我不明白你想要什么。首先你承认
async函数总是返回一个promise 对象,但是你希望www不 成为一个promise 对象?? -
如果你不想返回一个promise,写一个普通的函数来创建一个promise并调用
resolve()本身。 -
如果你想生成一个异步结果,那么那个结果将在未来可用,你不能指望它可用现在。
标签: javascript async-await promise callback es6-promise