我在理解如何从javascript的承诺中获得价值方面遇到困难。
我具有以下功能:
const getProjectById = (id) => {
return fetch(`/api/project/${id}`)
.then((response) => response.json());
}
const getProjectNameFromId = (id) => {
let name = 'blah';
getProjectById(id).then((result) => {name = result.name;});
return name;
}
在浏览器的JavaScript控制台中,我输入了以下功能,并确认当我执行类似操作时
let test = getProjectById("52");
它返回一个承诺,然后解析为预期的信息。
我想调用getProjectNameFromId()
来获得一个项目名称,然后我可以将其作为道具传递给React对象。但是,总是返回getProjectNameFromId()
而不是'blah'
返回实际的项目名称。
我知道诺言是异步的,因此这对我不起作用。但是我只是不知道如何正确地做到这一点。