调用 tizen.systeminfo.getPropertyValue('LOCALE', onSuccess, onError) 有时 onSuccess 和 onError 都不会被调用

问题描述 投票:0回答:1

我想获取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”尚未被调用。有人遇到这个问题吗?

javascript tizen tizen-web-app
1个回答
0
投票

有点晚了,但总比没有好。

您可能遇到的问题似乎是,根据文档

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
            }
        );
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.