二次パッケージweexのstreamモジュール


ウェブリクエスト
Weexネットワーク要求は、その内蔵モジュールStreamを使用する.
Stream API
fetch(options、calback)は、ネットワーク要求を開始します.
注意点:
1.bodyパラメータはstringタイプのパラメータのみをサポートしています.JSONを直接伝えないでください.まず文字列に変換してください.2.bodyパラメータはGet要求をサポートしていません.Get要求を使うなら、urlで参をアップロードする必要があります.
自分のStreamモジュールをカプセル化します.
request.jsコードとしてカプセル化:
const stream=weex.require Module;const modal=weex.require Module(「modal」);const request Method=[post],[get]const request={}
request Method.forEach=>request[method]=(url=",params=",config={}=>
let requestUrl = url;
let headers = Object.assign(
  {}, { "Content-Type": "application/x-www-form-urlencoded" }, config.headers
);

if (method === "get") {
  requestUrl = `${url}?${params}`;
  params = "";
}
return new Promise((resolve, reject) => {
  stream.fetch({
    method,
    url: requestUrl,
    type: "json",
    headers,
    body: params,
    timeout: 8000,
  }, function (res) {
    if (res.ok) {
      let data = res.data;
      if (data && data.control.error == 0) {
        resolve(data.data);

      } else {
        modal.confirm({
          message: data.control.msg,
          duration: 0.3
        });
        
      }
      return;
    }
    reject({
      status: res.status,
      msg: res.statusText
    });
    modal.confirm({
      message: res.statusText,
      duration: 0.3
    });
  });
});
}
module.export=request;
パッケージ後のstreamモジュールを使う
let request=require(「./request.js」)request.post('http://localhost:9090/wap/open/indexHome'userName=${this.userName}&age=${this.age}).then=>{this.userName=res.userName;this.age=res.age;、{e}
Express受信要求
let express=require('express')let bodyParser=require('body-parser')let app=module.export=express()
app.use(bodyPartser.urlencoded);
app.post('/wap/open/indexHome',function(req,res){
let{userName,age}=req.body;res.json
control:{
  error: 0
},
data: {
   userName,
   age
}


app.listen(9090、function(){consolist.logn(''9090');