在主线程中iOS真机中可以从子线拿到数据,但是在android真机中却没有从子线程中收到要处理的数据。能走点心,认真点吗?--微信小程序开发。
添加后,目录结构如下:

(1)在主线程的代码 app.js 中初始化 Worker
// 创建新进程
var worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径
// 向子进程发送数据
worker.postMessage({
msg: value// value是外界传过来的城市名数组,数组元素是对象如:{cityName: "", stationName: "贵阳"}
})
// 从子线程接收处理结果并展示
worker.onMessage(function (res) {
console.log(res)
that.globalData.pySeg = res.msg;
})
(2)在 workers/request/index.js 编写 Worker 响应代码
ar utils = require('/utils');
var pySegValue = [];
// 在 Worker 线程执行上下文会全局暴露一个 `worker` 对象,直接调用 worker.onMeesage/postMessage 即可
worker.onMessage(function (res) {
if(pySegValue.length <=0){
pySegValue = utils.pySegSort(res.msg);// 调用城市排序算法
//向主线程发送数据
worker.postMessage({
msg: pySegValue
})
}
});
(3)在 workers/request/utils.js 编写 Worker 响应代码
// 城市排序
function pySegSort(arr) {
if (!String.prototype.localeCompare)
return null;
var letters = "ABCDEFGHJKLMNOPQRSTWXYZ".split('');
console.log(letters);
var zh = "阿八嚓哒妸发旮哈讥咔垃麻拏噢妑七呥扨它穵夕丫帀".split('');
console.log(zh);
var segs = [];
var curr;
letters.forEach(function (item, i) {
console.log(i);
curr = { isUp: false, i: i, letter: item, data: [] };
arr.forEach(function (item2) {
if ((!zh[i] || zh[i].localeCompare(item2.stationName, "zh") <= 0) && item2.stationName.localeCompare(zh[i + 1], "zh") == -1) {
curr.data.push(item2);
}
});
if (curr.data.length) {
segs.push(curr);
curr.data.sort(function (a, b) {
return a.stationName.localeCompare(b, "zh");
});
}
});
return segs;
}
module.exports = {
pySegSort: pySegSort,
}
报错信息:

微信小程序开发相关问题解答;本文来自微信小程序工厂 http://www.xcxgc.com 转载请保留。
微信小程序开发者回答:
韬***:
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
俊***:
var worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径
【已解决】审核不通过,涉及虚拟支付。
俊***:
应该是创建线程对象不成功,你们官方可以在在android真机中测试。
韬***:
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
俊***:
wechatide://minicode/jgNUyMmX6lYo
插件开发助手报错#微信小程序教程
韬***:
你好,感谢反馈,问题已复现,我们会在后续版本中进行修复。
本文网址:http://www.91bianli.com/kaifazhinan/65203.html