Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 node.js复制值时出现故障_Javascript_Node.js_Asynchronous_Promise_Async Await - Fatal编程技术网

Javascript node.js复制值时出现故障

Javascript node.js复制值时出现故障,javascript,node.js,asynchronous,promise,async-await,Javascript,Node.js,Asynchronous,Promise,Async Await,我有一个react应用程序与drop wizard REST API交互。在我的代码中,我注意到以下奇怪的错误 在尝试设置两个变量的值,然后使用它们来设置状态时,我有以下几点 const [inventorRes, sellerRes] = await Promise.all([ LoginTransport.getAllUsers('Inventory Owner'), LoginTransport.getAllUsers('Seller'), ]); 其中LoginTran

我有一个react应用程序与drop wizard REST API交互。在我的代码中,我注意到以下奇怪的错误

在尝试设置两个变量的值,然后使用它们来设置状态时,我有以下几点

const [inventorRes, sellerRes] =
await Promise.all([
    LoginTransport.getAllUsers('Inventory Owner'),
    LoginTransport.getAllUsers('Seller'),
]);
其中LoginTransport是调用外部API的方法。现在我注意到,在执行此操作时,inventor res和sellerRes都将设置为LoginTransport.getAllUsers(“库存所有者”)的值,而不是相应的参数

当我将其分解为:

const inventorRes = await LoginTransport.getAllUsers('Inventory Owner');
const sellerRes = await LoginTransport.getAllUsers('Seller');
这种行为是正确的

我的理解是:这是一个承诺。所有人都返回了一个无法接受的承诺。javascript是否会尝试将左侧的值与右侧的值匹配?假设这是真的,但我坚持使用Promise.all()我怎么能完成我想做的任务呢

现在我注意到,在执行此操作时,inventor res和sellerRes都将设置为
LoginTransport.getAllUsers(“库存所有者”)
的值,而不是相应的参数


这可能是LoginTransport.getAllUsers的错误。你期望它做什么。

你的代码的一个简化版本运行得很好——也许你的
LoginTransport.getAllUsers
函数在某种程度上被破坏了,在概念上“同时”运行两次会破坏它。你描述的行为不应该发生。您应该检查
LoginTransport.getAllUsers
是否有副作用,如果快速连续调用它,会导致它返回相同的值。您可以这样检查:
const p1=LoginTransport.getAllUsers('Inventory Owner');const p2=LoginTransport.getAllUsers(“卖方”);const inventorRes=等待p1;const sellerRes=等待p2我看到giong在调查它