乐趣区

关于javascript:Promise回调地狱thenfulfiledreject

回调天堂

在 JavaScript 中,异步通常就随同着回调_(温习:异步和回调__)_。

为什么呢?看上面的代码:

let result = false; function loadSuccess() { setTimeout(function () {result = true;}, 1000) } loadSuccess(); console.log(result ? ‘oh yeah!’ : ‘what happen?’);

@想一想 @:后果是什么?_(__演示:并__在控制台看一下 result 的值__)_

如果咱们想要放弃 loadSuccess 的封装,并在 result 的值在 loadSuccess()中被扭转后再影响 console.log(),大略只能把上述代码改成这个样子:

function loadSuccess(callback) {setTimeout(function () {// 如果这个 result 也依赖于另一个异步函数,咋整?var result = true; console.log(result ? ‘oh yeah!’ : ‘what happen?’); }, 1000) }

然而,假如_(事实上很容易呈现这种状况,尤其是 node.js 中)_loadSucess()里的 result 也依赖于另一个异步函数,咋整?

@想一想 @:能不能由某个异步办法返回 bool 值

var result = someAsyncFunc();

实际上最终只能写成这个样子

function loadAnotherSuccess(callback) {setTimeout(function () {// 取得 result 值的异步办法 var result = true; setTimeout(function () {console.log(result ? ‘oh yeah!’ : ‘what happen?’); }, 1000) }, 1000) }

@想一想 @:能不能在 loadAnotherSuccess()中间接调用之前的 loadSuccess()?_(温习:文本作用域和闭包)_

setTimeout(function () {loadSuccess(result); // 须要革新 loadSuccess()}, 1000)

@想一想 @:再进一步,如果 loadAnotherSuccess()还须要另外一个异步函数的后果……

这就是赫赫有名的 回调天堂(callback hell)

之所以称其为天堂,是因为:

  1. 代码自身就不“好”看,眼睛都花了……(メ`ロ´)/
  2. 书写 / 保护代码时,其内容和“失常”的流程是反的。比方:我须要一个 result 的值,
    失常的做法是:调用能取得 result 值的函数即可;
    但这里是要:把我以后的代码放到能取得 result 值的函数外面去?
  3. 无奈捕获异样,因为在不同的“栈”(演示:略)

所以,咱们迫切的须要引入:

Promise

promise 是 ES6 推出的新的内置类。应用它的大抵形式是:

let p = new Promise(function (resolve, reject) {resolve(‘resolve’); }); p.then(function (value) {console.log(value); }); console.log(‘after then’);

留神:

  • Promise 的结构函数参数 resolve 和 reject,都是函数
    @想一想 @:这两个参数是不是必须名为 resolve 和 reject?
  • resolve 和 reject 自身又是两个内置函数,都能够带一个参数

断点演示:

  1. 代码执行程序
  2. console.log(value) 中 value 的值由 resolve()传递
  3. 正文掉:resolve(‘resolve’);

咱们失去的法则是:then()肯定会在 resolve()之后能力执行;没有执行 resolve(),就不会执行 then(),但这有什么作用呢?

用 Promise 重写之前天堂回调代码:

let p = new Promise(function (resolve, reject) {setTimeout(function () {var result = true; resolve(result); // 先取得 result 的值 }, 1000); }); p.then(function (result) {console.log(result ? ‘oh yeah!’ : ‘what happen?’); // 肯定会在失去 result 的值后才运行 })

这样,代码的可读性是不是变得更强了?

外部原理

每一个 Promise 实例中都保留着一个状态(status)。状态值有三种:

  • pending(进行中):默认初始状态
  • fulfiled(胜利):调用 resolve(value)后取得,即 resolve()将 Promise 实例的状态由 pending 转换为 fulfiled
  • rejected(失败):调用 reject(error)后取得:即 reject()将 Promise 实例的状态由 pending 转换为 rejected

留神:这三种状态在 Promise 实例内部无奈扭转,只能在 Promise 的构造函数中的代码实现。

办法 then()总是会在 Promise 实例化之后,查看其状态:

  • 如果是 pending,不予任何执行
  • 如果是 fulfiled,执行其第一个回调函数
  • 如果是 rejected,执行其第二个回调函数

是异步操作呈现谬误

,通常是异步操作胜利运行

状态

和某个将来才会完结的事件(通常是一个异步操作)的后果。

(设断点演示:状态转变,略)

then,catch 和 finally

promise 对象能够通过调用:

  • then():两个 callback function 参数,第一个是 resolved 之后的调用,第二个(可选)是 reject 之后的调用
  • catch():等同于.then(null, rejection)或.then(undefined, rejection):举荐 catch 写法。
    留神:不显示 catch,error 就会被“吞”掉:console 中依然会报错,但不阻断后续(如 setTimeout())代码的执行
  • finally():有错没错,最初都要执行的。

    let p = new Promise(function (resolve, reject) {setTimeout(function () {var result = true; if (true) {throw new Error(‘……’); resolve(result); } else {reject(‘error’); } console.log(‘after error’); }, 1000); }); p.then(function (result) {console.log(result ? ‘oh yeah!’ : ‘what happen?’); }).catch(function (reason) {// 举荐:可读性更高 console.log(reason); }).finally(function () {console.log(‘finally’); })

(_演示:_略_。留神:setInterval()演示 promise 的状态一旦确定,无奈再更改_)

then()的连缀

因为 then()还会返回一个 新的 Promise 实例,所以 then() 前面还能够紧接着持续调用 then()……_(温习:JQuery 的链式调用)_

须要 return

new Promise((resolve, reject) => {setTimeout(function() {console.log(‘ 第 1 次 resolve’); resolve(false); }, 500) }).then(function(result) {return new Promise((resolve, reject) => {setTimeout(function() {console.log(‘ 第 2 次 resolve’); resolve(result); }, 500) }); }).then(function(result) {if (result) {console.log(‘oh yeah!’); } else {console.log(‘what happen?’) }https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…
http://github.com/hdfgfgh546/…
https://github.com/hdfgfgh546…
https://www.github.com/hdfgfg…

退出移动版