[英]How to pass Resolve callback into a Promise when using async-await?
Let's say I have a function that returns a Promise
:假设我有一个返回
Promise
的函数:
let logData = function () {
return new Promise(function (resolve, reject) {
// doing some stuff
resolve('data');
});
};
And let's say I have a callback function for resolve
callback:假设我有一个用于
resolve
回调的回调函数:
let resolveCallback = function (data) {
console.log(`doing some stuff with ${data}`);
};
When I'm simply using promises without async-await
I can pass this callback into a promise very easily, like so:当我只使用没有
async-await
的 promise 时,我可以很容易地将此回调传递给 promise,如下所示:
logData().then(resolveCallback);
In this example when my promise is executing it will reach resolve('data');
在这个例子中,当我的 promise 正在执行时,它会到达
resolve('data');
line and resolveCallback
will be executed because resolve = resolveCallback
line 和
resolveCallback
将被执行,因为resolve = resolveCallback
Now when I'm using async-await
approach, is it possible to pass resolveCallback
into the promise, somehow?现在,当我使用
async-await
方法时,是否可以以某种方式将resolveCallback
传递到 promise 中?
async function logDataAsync() {
// IS THERE NO WAY TO PASS resolveCallback as resolve PARAMETER HERE???
await logData();
}
async function logDataAsync() {
// IS THERE NO WAY TO PASS resolveCallback as resolve PARAMETER HERE???
const res = await logData();
resolveCallback(res);
}
Same as与...一样
logData().then(resolveCallback)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.