【发布时间】:2016-02-18 22:36:57
【问题描述】:
调用GetByUsername时,执行跳转到catch块 但错误是未定义的。该 api 正在工作,因为等效的 promise 样式代码 .then().then().done() 有效,但我想更好地以这种 async / await 样式编写。我该如何调试它?
var cli = {
GetByUsername: async function(username) {
try {
let resposne = await fetch(`http://api.example.com?username=${username}`);
return response;
} catch(err) {
debugger;
}
}
}
编辑:
通过查看 react-native's package.json,似乎使用的 fetch 实现是 node-fetch 和 babeljs 作为转译器。
【问题讨论】:
-
你是如何编译这个的,你使用的是什么 promise 库和
fetchpolyfill?err未定义有什么问题?如果你使用promise.catch(),err的值是多少? -
谢谢,好点。对于第一个问题,我更新了我的问题,“错误未定义有什么问题?”我不知道为什么它失败了。 “如果你使用 promise .catch(),err 的价值是什么?”如果我使用 promise .then().catch(),代码运行良好,没有任何问题。
标签: javascript asynchronous async-await react-native ecmascript-2016