朋友我将把一个类定义为所有函数。现在我们需要一些函数及其回调。所以我定义如下。
CallBack定义:
export const getStoredData(key: string, callback?: ?(error: ?Error, result: ?string)) =>{
try {
const value = await AsyncStorage.getItem(key);
if (value !== null){
return value
}
} catch (error) {
return error
}
}
按以下方式调用该功能:
getStoredData('apple' , (error , result) =>{
if (error) {
console.log('error is = ', error);
} else {
console.log('result is = ', result);
}
});
但我有错误来定义功能意外令牌。
请帮帮我。
答案 0 :(得分:3)
正如@MayankShukla所说,你没有正确使用箭头功能。
要修复表达式,您还需要添加=>void
,如下所示,以修复callback
的函数类型,
export function getStoredData(key: string, callback?: ?(error: ?Error, result: ?string) => void ) {
在我的vs代码意外标识符中,上述代码消失了。
编辑评论1:从callback
获取结果,尝试更改功能
export async function getStoredData(key: string, callback?: ?(error: ?Error, result: ?string) => void ) {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null) {
callback(null, value);
return value;
}
} catch (error) {
callback(error, null);
return error;
}
}
答案 1 :(得分:1)
你正在以错误的方式使用箭头功能,你忘了=
,意外的令牌是因为这里的=>
:
export const getStoredData(key: string, callback?: ?(error: ?Error, result: ?string)) => {
....
}
要么像这样写(在getStoredData之后注意=
):
export const getStoredData = (key: string, callback?: ?(error: ?Error, result: ?string)) => {
....
}
或删除=>
export function getStoredData (key: string, callback?: ?(error: ?Error, result: ?string)){
....
}
答案 2 :(得分:0)
您的语法错误,因为您没有按照自己的意愿导出功能。尝试分配常量并正确关闭括号:
export const getStoredData = (key, callback) => {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null){
return value
}
} catch (error) {
return error
}
};
getStoredData('apple', (error, result) => {
//do stuff
});
答案 3 :(得分:0)
/*
* created by Suresh Mewara
* Date 09-07-2018
*/
import React, {Component} from 'react';
import {AsyncStorage, } from 'react-native';
export class DBPreference {
// Database key
static LOGIN_STATUS = 'loginStatus';
static EULA_STATUS = 'eulaStatus';
static ACCESS_CODE = 'accessCode';
static retrieveData = async (key) => {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null) {
// We have data!!
console.warn(value);
return value;
}
} catch (error) {
// Error retrieving data
}
}
static getStoredData = async (key, callback) => {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null){
callback(null, value);
console.warn(value);
return value
}
} catch (error) {
callback(error, null);
return error
}
};
}