假设我有一个搜索功能来进行 HTTP 调用。每次调用可能需要不同的时间。所以我需要取消最后一个 HTTP 请求,只等待最后一个调用
async function search(timeout){
const data = await promise(timeout)
return data;
}
// the promise function is only for visualizing an http call
function promise(timeout){
return new Promise(resolve,reject){
setTimeout(function(){
resolve()
},timeout)
}
}
search(200)
.then(function(){console.log('search1 resolved')})
.catch(function() {console.log('search1 rejected')})
search(2000)
.then(function(){console.log('search2 resolved')})
.catch(function(){console.log('search2 rejected')})
search(1000)
.then(function(){console.log('search3 resolved')})
.catch(function(){console.log('search3 rejected')})
需要看到“search1已解决”“search2被拒绝”“search3已解决”
我怎样才能实现这个场景?
蓝山帝景
相关分类