gpt4 book ai didi

javascript - React Native 我无法通过 promise 获得结果

转载 作者:行者123 更新时间:2023-12-04 10:06:34 25 4
gpt4 key购买 nike

显然很简单:WAITING获得结果以使用 promise 设置状态

按钮:

onPress: () => sessionEnded(),

功能:
 const sessionEnded = async () => {
const getTime = await totalTime(); // execution of the function bellow
console.log('getTime', getTime);// I get undefined
try {
SoundPlayer.playSoundFile('end_bell', 'mp3');
} catch (error) {
console.log(error);
}

props.navigation.navigate('Daily', {time: time});
};

计算时间的函数:
  const totalTime = () => {
let res = sessionTime - time.secs;
console.log('totaltime calculated', res);
return new Promise(res => setTime(res));
};

其实我是新来的,我不知道如何使用 promise 。
谢谢!

最佳答案

你的变量有点困惑。您声明 restotalTime但是然后在 promise 回调的新范围内重新声明它。这行不通。此外,Promise 在其回调中返回两个值 - resolvereject ,这两者都是方法本身。所以你的值(value)res在 Promise 范围内实际上是对方法的引用。使用 resolve正确地将 promise 的值返回给父函数。还有 setTime未定义 - 我认为它在别处。否则也删除它。

因此,尝试将您的代码修改为:

const sessionEnded = async() => {
const getTime = await totalTime(); // execution of the function bellow
console.log('getTime', getTime); // I get undefined
};

const totalTime = () => {
let res = 10 - 5
console.log('totaltime calculated', res)
return new Promise(resolve => resolve(res))
}

sessionEnded()


sessionEnded被调用它现在应该得到 res 的值.

关于javascript - React Native 我无法通过 promise 获得结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61558086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com