Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用expo background fetch每隔60秒获取一个特定url?_Javascript_React Native_Expo_Background Fetch - Fatal编程技术网

Javascript 如何使用expo background fetch每隔60秒获取一个特定url?

Javascript 如何使用expo background fetch每隔60秒获取一个特定url?,javascript,react-native,expo,background-fetch,Javascript,React Native,Expo,Background Fetch,我已经尝试了文档中提供的几乎所有示例,但我无法运行它。 我想每隔60秒使用axios(或fetch方法)向特定url发出请求,并在后台处理数据。换句话说,我想要一些普通的东西,比如: this.getPageInterval = setInterval(() => { const json = await (await fetch(this.fetchURL)).json(); ...// etc }, 60000) 当应用程序处于后台时可能发生 my console.

我已经尝试了文档中提供的几乎所有示例,但我无法运行它。 我想每隔60秒使用axios(或fetch方法)向特定url发出请求,并在后台处理数据。换句话说,我想要一些普通的东西,比如:

this.getPageInterval = setInterval(() => {
    const json = await (await fetch(this.fetchURL)).json();
    ...// etc

}, 60000)
当应用程序处于后台时可能发生

my console.log显示“任务已注册”,但感觉这段代码从未触发(全局范围):

在我的班级组成部分:

await BackgroundFetch.registerTaskAsync(taskName, {
        setMinimumIntervalAsync: 5,
        stopOnTerminate: false
    });
    await BackgroundFetch.setMinimumIntervalAsync(5);
    alert('task registered');
    console.log('task registered');

似乎您没有在类组件中注册任务。taskname是否在组件中定义为“测试后台提取”?您需要调用完全相同的任务名称

另外,有些手机在后台任务方面有些问题。我从未在世博会上尝试过,但在世博会上,一些品牌不得不进行一些额外的设置

还要注意的是,在文档中,它说它只在后台工作。终止的应用程序不会运行后台功能

await BackgroundFetch.registerTaskAsync(taskName, {
        setMinimumIntervalAsync: 5,
        stopOnTerminate: false
    });
    await BackgroundFetch.setMinimumIntervalAsync(5);
    alert('task registered');
    console.log('task registered');