treeData: this.state.treeData.concat([ this.genTreeNode(id, false), this.genTreeNode(id, true), resolve(); }, 300);

和我们习惯的写法不太一样,我是这样写的 注意我是有个return的  没有这个return就会报错

  return new Promise(resolve => {
      setTimeout(() => {
        dispatch({
          type: 'persionalUsermanage/queryOrgChild',
          payload: {
            oid: item.key
        }).then((response:any) => {
          let orgf:any = []
          if (response.result) {
            response.result.map((item:any) => {
              orgf.push({
                title: item.shortname,
                key: item.oid,
            dispatch({
              type:'bSRoleManagement/querySysIdentityBySysId1',
              payload: updateTreeData(roleRangeSelect,item.key,orgf),
        resolve();
      }, 300);
                    在使用antd TreeSelect组件 异步获取数据的时候报错dispatch(...).then is not a function这个错的原因其实是你请求的方法返回的不是promise对象  官网是这样写的  onLoadData = treeNode =>    new Promise(resolve => {      const { id } = treeNode.props;      setTimeout(() => {       ...
				
react报错: dispatch is not a function,需要在类前添加@connect(() => ({})) import {connect} from 'dva' @connect(() => ({})) class Methods extends Component{
Unhandled Rejection (TypeError): _this.props.dispatch is not a function 解决方法引入dva中connect方法 import { connect } from "dva"; @connect(() => ({})) class Login extends Component { export default Login;
dispatch(…).then is not a function 注意看model层的effect层和reducer是否写对?之前的项目错误原因:编辑和删除没有到effect文件中。 export default { effect: { {} //接口请求 reducer: {} 2.如:这就是一个promise对象, http.post或者http.get都是promise对象 3.这样请求的话就会出现上面的报错: Object(…)(…).then is not a function (错误的!!) 4.正确的请求: 重点:如果不知道如何看的话,直接console.log()一下这个方法就可以知道是否为promis
vuex dispatch().then() 得不到返回值; 原因: action 是异步的不能及时得到异步请求返回值。 解决办法: 在action里面使用Promise把操作结果抛出去 SET_OSS_PARAMS({commit}) { return new Promise((resolve, reject) => { req.get({ url: "...
记录一个实际项目中使用OSS上传到阿里云bug,也算是一个坑。 如上图new OSS进行文件上传,使用put上传,希望返回的是一个promise。但是返回的是一个generator,所以就会出现如下图的报错:client(...).put(...).then is not a function 查找issues看到:如果想要返回的是一个promise,需要new OSS.Wrapper,这样就可以解决上述报错的情况。 可是很奇怪,我的另外一个项目new OSS直接使用并没有出现这个报错。相同写法,那个是
package.json 看一下 cesium版本是1.92.0 4月1日,开源项目Cesium已经发布最新版1.92,重要更新主要都是3DTiles相关的,这部分可能更容易受到关注。而另一项更新尽管用了更多篇幅来说明,但是还是很容易被忽视,那就是:删除Cesium.when,使用原生Promise。 官方介绍如下:
`this.store.dispatch` 是用来发起一个 action 的。如果你想在 dispatch 之后执行一些操作,可以使用 `async/await` 或者 `Promise.resolve()`。 async function example() { await this.store.dispatch(someAction()); // do something after dispatch // 或者 function example() { return this.store.dispatch(someAction()).then(() => { // do something after dispatch function example() { return Promise.resolve(this.store.dispatch(someAction())).then(() => { // do something after dispatch 注意:如果 action 返回了一个 promise,那么 `dispatch()` 方法会返回这个 promise,上述例子中可以不用加上`Promise.resolve`