Async/await - 无法达到承诺结果
Async/await - cannot reach promise result
我试图在 Reactjs 函数组件中获得 Promise 结果,但它对我不起作用。当我 return 函数结果时,我只得到 Promise。我的目标是 return [[Promise Result]].
中包含的对象
const params = ['ACT', 'STBY', 'STBYH'];
const getActStby = async address => {
const getActStbyParams = await getXhr({
url: `./scripts/system_read_config?${xhrParam(address, params)}`
});
return getActStbyParams;
};
然后我稍后在代码中调用它并将其作为新对象分配给对象 属性:
newItemEqpt.isAct = getActStby(getNetworkAddress(item.from.FROM, item.to.TO));
这些活动的输出是“部分”好的。当我console.log这个对象的时候,Promise就实现了,但是我想要的是把[[Promise result]]中parameters
的数组直接赋值给isAct
属性。我该怎么做?
isAct: Promise
[[Prototype]]: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Object
parameters: (3) [{…}, {…}, {…}]
[[Prototype]]: Object
函数 getActStby
声明为 async
,因此您必须 await
才能得到这样的结果;
newItemEqpt.isAct = await getActStby(getNetworkAddress(item.from.FROM, item.to.TO));
为了能够像上面那样使用 await
关键字,对 getActStby
的函数调用也应该在 async
函数中进行,否则您将不得不链接函数使用 then
方法并使用回调访问该函数的 return 值。
我试图在 Reactjs 函数组件中获得 Promise 结果,但它对我不起作用。当我 return 函数结果时,我只得到 Promise。我的目标是 return [[Promise Result]].
中包含的对象const params = ['ACT', 'STBY', 'STBYH'];
const getActStby = async address => {
const getActStbyParams = await getXhr({
url: `./scripts/system_read_config?${xhrParam(address, params)}`
});
return getActStbyParams;
};
然后我稍后在代码中调用它并将其作为新对象分配给对象 属性:
newItemEqpt.isAct = getActStby(getNetworkAddress(item.from.FROM, item.to.TO));
这些活动的输出是“部分”好的。当我console.log这个对象的时候,Promise就实现了,但是我想要的是把[[Promise result]]中parameters
的数组直接赋值给isAct
属性。我该怎么做?
isAct: Promise
[[Prototype]]: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Object
parameters: (3) [{…}, {…}, {…}]
[[Prototype]]: Object
函数 getActStby
声明为 async
,因此您必须 await
才能得到这样的结果;
newItemEqpt.isAct = await getActStby(getNetworkAddress(item.from.FROM, item.to.TO));
为了能够像上面那样使用 await
关键字,对 getActStby
的函数调用也应该在 async
函数中进行,否则您将不得不链接函数使用 then
方法并使用回调访问该函数的 return 值。