创建一个promise对象

简介: 创建一个promise对象

导语

歌谣 歌谣 有什么好的方式在react中将数据传给父组件




编辑


代码部分

``` return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((error, values) => { if (error) { reject(); return; }
const { activeUpdateData = {}, type } = this.props;
    const { birthdayTime } = values;
    const { imgUrl, listCards, activeOrgan, tags, tagList,



tagListInfo } = this.state;
if (!imgUrl && !activeUpdateData.headImg) {
      message.info(`请上传讲师头像!`);
      reject();
      return;
    }
    console.log(values, 'values');
    var arr2 = [];
    console.log(tagList, 'tagListTest');
    tagList.map((item) => {
      if (item.checked == true) {
        arr2.push({
          tagCode: item.tagCode,
          weight: item.weight ||



(tagListInfo && tagListInfo[0] .weight), tagGroupCode: item.tagGroupCode || (tagListInfo && tagListInfo[0].tagGroupCode), tagBizType: item.tagBizType || (tagListInfo && tagListInfo[0].tagBizType), }); } return arr2; }); if (arr2.length == 0) { this.setState({ errType: 'error', errMsg: '请选择主营课程', }); return false; } const payload = { ...values, lecturerOrganizationCode: values.lecturerOrganizationCode[0]. code, invitePeople: values.invitePeople[0].customerCode, applyCustomerCode: values.applyCustomerCode[0].customerCode, lecturerId: activeUpdateData.lecturerId, certificateId: activeUpdateData.certificateId, contactId: activeUpdateData.contactId, birthdayTime: birthdayTime && birthdayTime.valueOf(), headImg: imgUrl || activeUpdateData.headImg, businessMerchantCode: values.lecturerOrganizationCode[0].businessMerchantCode || activeUpdateData.businessMerchantCode, // activeOrgan.businessMerchantCode || activeUpdateData.businessMerchantCode, //经营商户编号 platformMerchantCode: values.lecturerOrganizationCode[0].platformMerchantCode || activeUpdateData.businessMerchantCode, // activeOrgan.platformMerchantCode || activeUpdateData.businessMerchantCode, //平台商户编号 // lecturerOrganizationCode: activeOrgan.code || activeUpdateData.lecturerOrganizationCode,


certificateList: listCards.map((item) => {
        return {
          certificateImgPath: item.imageUrl,
          certificateImgType: item.key,
        };
      }),
      // tagList &&
      tagBizList: arr2,
      // lecturerDetails: text,
    };
    if (type === 'update') {
      payload.lecturerDetails = activeUpdateData.lecturerDetails;
      payload.lecturerId = activeUpdateData.lecturerId;
      payload.organizationId = activeUpdateData.organizationId;
    }
    console.log(payload, 'payload');
    resolve(payload);
  });
});
}; ```




总结

利用promise的正确返回值作为结果返回给父组件使用



相关文章
|
7月前
|
设计模式 前端开发 JavaScript
|
7月前
|
JSON 前端开发 JavaScript
ES6类的使用和定义.Json.Promise对象的使用
ES6类的使用和定义.Json.Promise对象的使用
67 0
|
前端开发 Go
15 # promise 延迟对象的作用
15 # promise 延迟对象的作用
74 0
|
5月前
|
前端开发 安全
协程问题之协程函数返回的Promise对象必须满足哪些要求
协程问题之协程函数返回的Promise对象必须满足哪些要求
|
5月前
|
前端开发 JavaScript
ES6 中 Promise对象使用学习
ES6 中 Promise对象使用学习
50 1
|
7月前
|
前端开发 JavaScript API
Promise 对象与 Promises/A+ 规范
Promise 对象与 Promises/A+ 规范
112 0
|
7月前
|
前端开发 JavaScript 数据处理
JavaScript中的异步编程及Promise对象
【2月更文挑战第3天】 传统的JavaScript编程模式在处理异步任务时常常会导致回调地狱和代码可读性较差的问题,而Promise对象的引入为解决这一问题提供了一种优雅的解决方案。本文将介绍JavaScript中的异步编程方式以及Promise对象的使用方法和优势,帮助读者更好地理解和运用异步编程技术。
56 8
|
7月前
|
前端开发
用Promise对象实现的 Ajax
用Promise对象实现的 Ajax
41 0
|
前端开发 JavaScript API
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
|
7月前
|
前端开发 算法
2723. 两个 Promise 对象相加
2723. 两个 Promise 对象相加
53 0