javascript - Redux-Saga 无法正确读取来自 fetch api 的响应

标签 javascript redux es6-promise saga redux-saga

嗨,我如何读取从获取调用返回的数据:

export function* fetchMessages(channel) {     
    yield put(requestMessages())
    const channel_name = channel.payload
    try {      
        const response = yield call(fetch,'/api/messages/'+channel_name)

        const res = response.json()
            console.log(res)
        yield put(receiveMessages(res,channel))


   } catch (error){      
       yield put(rejectMessages(error))
   }      
}     

当我使用 console.log(res) 我得到:

Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
__proto__
:
Promise
[[PromiseStatus]]
:
"resolved"
[[PromiseValue]]
:
Array[7]

我如何从这个 promise 中获取我的“信息”(Array[7] 端?我是新手。谢谢

最佳答案

response.json() 是异步的并返回 promise

改变这个

const res = response.json()

const res = yield response.json()

webpackbin例子

关于javascript - Redux-Saga 无法正确读取来自 fetch api 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39201374/

相关文章:

javascript - 为网格创建通用变量以重用每个网格中的配置

javascript - 使用 Javascript 创建 SVG 图形?

javascript - 无法使用 javascript 在我的 img 中设置标题和 alt 属性

javascript - 为什么我的调度不适用于按钮单击事件?

javascript - Promise.resolve(promise) 的用例是什么?

javascript - 更改 JavaScript 中的 JSON 格式

javascript - 如何让我的可迭代值与 React 和 Redux 保持循环?

javascript - 从 dom 中隐藏输入值属性

javascript - 未处理的 Promise 拒绝警告 : TypeError: First argument must be a string or Buffer

javascript - 无法在 react 中设置状态