SOS!!本来java程序员,现在做node 被异步玩死。不知道怎么做了
nodejs吧
全部回复
仅看楼主
level 1
ykzhen 楼主
我在上传微信素材,但是请求正常返回了但是不知道怎么返回请求后的结果,被异步玩死了。
var fs = require('fs');
var co = require('co');
var thunkify = require('thunkify');
var http = require('http');
var url = require('url');
var request = require('request');
var srequest = require('sync-request');
var path = require('path');
var util = require('./util');
var formstream = require("formstream");
var uuid = require("uuid");
var FormData = require('form-data');
var form = new FormData();
var callBack = function(err, res) {
var resume = res.resume();
var result = "";
resume.on('data',function(chunk){
result += chunk;
});
resume.on("end", function() {
/*
*微信已经正常返回,但是如何正常返回这串字符串??????异步玩死人了。
*/
//{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/dcBW67HFmiaqHGoKqNSXn4AsZERte483EKDv073mkjBPgF42ricicnk5l1RZeiaVYyCjOZQffnMVFVU6YmNgEHfLNg\/0"}
console.log(result);
f = result;
});
};
co.wrap(function *() {
var form = new FormData();
form.append('media', fs.createReadStream("./pic.jpg"));
var token = "tuuDCYtmkMrt-XaaPj0eAiyh_Lb1sO5jx5Q9YxwRoHJtv1WDijJO5HgmN6C1xCwPEmMIr3F5fetg8EvJcS0O-qj6Urr40FwwmibetdZQrFh_VFZm4-i2k7Kol-PbeQVBMXSbAIAGRM";
form.append("access_token", token);
var wxurl = "https://api.weixin.qq.com/cgi-bin/media/uploadimg";
yield form.submit(wxurl, callBack);
/**
return 如何请求上步的返回http请求的字符串?????
**/
})();
2016年12月18日 13点12分 1
level 1
把你要返回内容的那段代码写在end后边的回调函数里
2016年12月19日 01点12分 2
我要在外层写返回,不能写在里面哦。
2016年12月22日 05点12分
level 1
一看你java的多线程就学得不好
2016年12月19日 08点12分 3
多线程我懂和js不太一样
2016年12月22日 05点12分
1