race 函数返回一个 Promise,它将与第一个传递的 promise 相同的完成方式被完成。它可以是完成( resolves),也可以是失败(rejects),这要取决于第一个完成的方式是两个中的哪个。
如果传的迭代是空的,则返回的 promise 将永远等待。
如果迭代包含一个或多个非承诺值和/或已解决/拒绝的承诺,则 Promise.race 将解析为迭代中找到的第一个值。
var timer = undefined;function reqPromise(reqUrl, reqData, reqType) { return Promise.race([ new Promise(function (resolve, reject) { timer = setTimeout(() = { reject(showError("网络连接超时")); }, 3000) }),post(reqUrl, reqData, reqType) .then(res = { timer && clearTimeout(timer); return res; }).catch(err = { timer && clearTimeout(timer); return Promise.reject(err); }) ])}
/** * 弹窗提示网络错误 */function showError() { wx.showModal({ title: '连接超时', content: '请检查网络连接', showCancel: false, })}













