这段代码为什么打印的是111 undefined,如何获取checkResultByName返回的结果 console.log(111, getAuthByName(PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION)) export function checkResultByName(auth: Permission) { check(auth) .then((result) => { return changeAuthStatus(result); }) } export function changeAuthStatus(status: string) { switch (status) { case 'granted': return true; case 'limited': return true; case 'unavailable': return false; case 'denied': return false; case 'blocked': return false; } return false; }
时间: 2024-02-14 16:15:47 浏览: 115
android手机相关信息的获取.doc
3星 · 编辑精心推荐
打印的是111 undefined是因为你调用了getAuthByName函数,但该函数并没有被定义或者没有被调用。如果你想获取checkResultByName函数的返回结果,你可以将其改为返回Promise对象,然后在调用该函数的地方使用async/await语法或者then方法来获取结果。例如:
```
export async function checkResultByName(auth: Permission) {
const result = await check(auth);
return changeAuthStatus(result);
}
console.log(111, await checkResultByName(PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION));
```
或者:
```
export function checkResultByName(auth: Permission) {
return check(auth).then((result) => {
return changeAuthStatus(result);
});
}
checkResultByName(PERMISSIONS.ANDROID.ACCESS_BACKGROUND_LOCATION).then((result) => {
console.log(111, result);
});
```
这样就可以获取到checkResultByName函数的返回结果了。
阅读全文