小编Gal*_*puf的帖子

异步函数在等待完成之前返回

我有以下示例中的两个问题:

为什么 x 在 y 之前记录?为什么是xa Promise?

我期待在它记录之前bar等待foo解决该值'Hello'然后返回它。

let foo = () => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('Hello');
        }, 2000);
    })
}

let bar = async () => {
    let y = await foo();
    console.log(y);
    return y;
}

let x = bar();

console.log(x);
Run Code Online (Sandbox Code Playgroud)

我期待看到的是

'Hello' // console.log(y)
'Hello' // console.log(x)
Run Code Online (Sandbox Code Playgroud)

我得到的是

 Promise {<pending>}  // console.log(x)
 'Hello'              // console.log(y)
Run Code Online (Sandbox Code Playgroud)

不应该barfoo解决后再返回y吗?

任何帮助将非常感激!

javascript async-await

8
推荐指数
2
解决办法
5140
查看次数

如何在React Redux中正确更新/合并数组值

我的初始状态如下所示,如果添加了新书或更改了价格,则新的更新数组来自服务,我的结果需要在初始状态下合并。

const initialState = {
  booksData: [
    {"Code":"BK01","price":"5"},
    {"code":"BK02","price":"30"},
    {"code":"BK03","price":"332"},
    {"code":"BK04","price":"123"}
  ] 
};
Run Code Online (Sandbox Code Playgroud)

来自服务器的更新的阵列,几乎没有记录更新/新

data: [
  {"Code":"BK01","price":"10"},
  {"code":"BK02","price":"25"},       
  {"code":"BK05","price":"100"}
] 
Run Code Online (Sandbox Code Playgroud)

将更新后的数组与旧数组合并后,更新后的状态应变为。

booksData: [
  {"Code":"BK01","price":"10"},
  {"code":"BK02","price":"25"},
  {"code":"BK03","price":"332"},
  {"code":"BK04","price":"123"},
  {"code":"BK05","price":"100"}
] 
Run Code Online (Sandbox Code Playgroud)

javascript arrays ecmascript-6 reactjs redux

5
推荐指数
2
解决办法
3218
查看次数

React devtools 在 V4 中“突出显示更新”

他们是否删除了在React Dev Tools V4 中突出显示更新的功能?我似乎无法在任何地方找到它。我很想念它。

你知道吗,这件事? 在此处输入图片说明

reactjs react-devtools

5
推荐指数
1
解决办法
1181
查看次数