我想获取Tizen SmartTV上的设备语言,调用api,但有时调用该方法后没有响应。
tizen.systeminfo.getPropertyValue('LOCALE',
systemInfoLocale => {
console.log(systemInfoLocale.language);
resolve(systemInfoLocale.language);
},
err => {
console.log(err);
reject('API error get language');
}
);
有时它工作正常,但在大多数情况下它工作不正确,并且“onSuccess”或“onError”尚未被调用。有人遇到这个问题吗?
有点晚了,但总比没有好。
您可能遇到的问题似乎是,根据文档,
getPropertyValue
异步运行,因此应用程序的其余部分可能无法按时到达它。正确的做法是这样的:
const getTizenLanguage = () => {
return new Promise((resolve, reject) => {
tizen.systeminfo.getPropertyValue('LOCALE',
systemInfoLocale => {
console.log(systemInfoLocale.language);
resolve(systemInfoLocale.language); // Resolve the promise with the language
},
err => {
console.log(err);
reject('API error get language'); // Reject the promise with an error message
}
);
});
}