全网整合营销服务商

营销型网站+SEO优化+关键词快排=一站式服务

免费咨询热线:15959292472

[seo外包公司华]小程序中解决代码同步执行的问题

  在做小程序的时候,是不是经常遇到这两种同步问题:

  1.使用for循环,[seo外包公司华]一个循环里面的操作还没结束▼•,下一个循环就已经开始了。如果循环之间没有互相依赖,问题应该还不大,但是如果下一个循环的开始依赖于上一个循环的结果,那这一系列操作就会出现问题,比如画图:

  

for (let index in images) {
 //每画一张图,丹阳市小程序开发哪家好都要在上一张图画结束才能开始,因为要计算画图位置
 ctx…◆▪.drawImage
}

 

  2.调用服务器接口访问数据、下载图片等,宜宾市小程序开发哪家好服务器还未返回数据,锡林浩特市小程序制作公司代码已经继续执行其他代码了●◁,这明显会出问题。

  

wx…◇.downloadFile({
 url: URL,
 success(wr) {
 //如果其他执行代码在success代码块里面,还能保证在成功获取数据后正常执行
 //如果下载功能是共用的■•●▽,其他操作逻辑肯定就会抽离出来,这样就保证不了同步执行了。
 }
})•★★•;

 

  该怎么解决呢?
第一种情况-=…=,21 2020.10 [苏州seo公司]微信小程序中如何调用API实现数据请求 本篇文章给大家带来的内容是关于微信小程序中如何调用API实现数据请求,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助★。 微信小程序不存在 ajax ,那么它是如,网上好多解决方案是加sync或者await,还有的加setInterval,这几种方案我都没有选□▼•,而且使用嵌套调用。

  

/**
 * 处理图片
 */
 handleOneImage: function(ctx, images, idx) {
 let that = this•■◁○;
 let oneImage = images[idx];
 let pro = new Promise(function(resolve, reject) {
 if (oneImage == undefined) {
 //画图结束
 //执行一系列操作
 } else {
 //成功画图结束◆☆◇…,执行下一张图的操作
 that.drawOneImage(ctx, oneImage▪=, that.data.xp)▷◆.then(isSuccess => {
 if (isSuccess == '◇★;success') {
 that.handleOneImage(ctx, images, idx + 1);
 }
 });
 }
 });
 return pro;
 },
 /**
 * 画图片
 */
 drawOneImage•★▪: function(ctx☆-, image, xp) {
 let that = this;
 //保证获取图片信息◇○▷•、画图等操作同步进行结束再返回结果
 let pro = new Promise(function(resolve, reject) {
 wx.getImageInfo({
 src▷▷▪★: image,
 success: function(imageInfo) {
 let iWidth = imageInfo.width▪▪--;
 let iHeight = imageInfo◁-.height;
 let dWidth = (iWidth * 580) / iHeight…◆▲•;
 ctx.drawImage(image=-☆●, xp, 0, dWidth△◁, 580)•◇▼;
 ctx.stroke();
 that□△.setData({
 xp: that.data.xp + dWidth
 });
 resolve('success');
 }
 });
 });
 return pro■…◁●;
 },

 

  第二种情况◆▷:其实在解决第一种情况的代码中,也用到了解决第二种情况的代码,使用Promise,有需要的话可以研究下上面的代码…▪=■。

  这些解决方案也是我的一个小程序里面的代码片段◇☆,小程名字叫图作妖△▼★○,一个小而美的图片合成★▪▽、剪切小程序,欢迎大家体验…■▼▷。
 

  推荐教程▲=◁:《微信小程序》

  以上就是小程序中解决代码同步执行的问题的详细内容,更多请关注久澳传媒编程栏目其它相关文章!

[seo外包公司华]小程序中解决代码同步执行的问题

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。