async/await 不能获取异步请求返回值

yg7lbth2
  • 5
新手上路,请多包涵

各位大佬请问一下!

为什么第一个请求使用了async / await 不能获取到第二个异步方法的返回值url

控制台输出的结果:

这是什么原因导致呢

回复
阅读 203
2 个回答

requestVideoUrls 方法用的回调处理的接口数据,不是 promise

因为你第二个方法并没有返回一个 Promise,你 await 谁?

// Promise 写法
itIsAnExamplePromise.then((res) => {
    // do when success
}).catch((err) => {
    // do when error
}).finally(() => {
    // do always
});

// async + await 写法
try {
    let res = await itIsAnExamplePromise;
    // do when success
} catch(err) {
    // do when error
} finally {
    // do always
}

新手要是写不明白 async+await,不如老老实实去写 Promise。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏