创建一个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的正确返回值作为结果返回给父组件使用



相关文章
|
2月前
|
数据采集 前端开发 JavaScript
如何在爬虫过程中正确使用Promise对象和async/await?
如何在爬虫过程中正确使用Promise对象和async/await?
54 2
|
2月前
|
设计模式 前端开发 JavaScript
|
2月前
|
JSON 前端开发 JavaScript
ES6类的使用和定义.Json.Promise对象的使用
ES6类的使用和定义.Json.Promise对象的使用
36 0
|
9月前
|
前端开发 Go
15 # promise 延迟对象的作用
15 # promise 延迟对象的作用
42 0
|
2月前
|
前端开发 JavaScript API
Promise 对象与 Promises/A+ 规范
Promise 对象与 Promises/A+ 规范
41 0
|
2月前
|
前端开发
用Promise对象实现的 Ajax
用Promise对象实现的 Ajax
14 0
|
2月前
|
前端开发 JavaScript 数据处理
JavaScript中的异步编程及Promise对象
【2月更文挑战第3天】 传统的JavaScript编程模式在处理异步任务时常常会导致回调地狱和代码可读性较差的问题,而Promise对象的引入为解决这一问题提供了一种优雅的解决方案。本文将介绍JavaScript中的异步编程方式以及Promise对象的使用方法和优势,帮助读者更好地理解和运用异步编程技术。
30 8
|
2月前
|
前端开发 算法
2723. 两个 Promise 对象相加
2723. 两个 Promise 对象相加
25 0
|
11月前
|
前端开发 JavaScript API
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
|
7月前
|
前端开发
ES6学习(八)—Promise对象 超鸡重要
ES6学习(八)—Promise对象 超鸡重要