Remove redundant checking of promise resolve and clone of URLs

This commit is contained in:
CYBAI 2020-01-06 15:29:01 +08:00
parent 9460b43f90
commit b8c6b55c98

View file

@ -1143,18 +1143,14 @@ pub fn fetch_single_module_script(
let global = owner.global(); let global = owner.global();
let module_map = global.get_module_map().borrow(); let module_map = global.get_module_map().borrow();
debug!("Start to fetch {}", url.clone()); debug!("Start to fetch {}", url);
if let Some(module_tree) = module_map.get(&url.clone()) { if let Some(module_tree) = module_map.get(&url.clone()) {
let status = module_tree.get_status(); let status = module_tree.get_status();
let promise = module_tree.get_promise().borrow(); let promise = module_tree.get_promise().borrow();
debug!( debug!("Meet a fetched url {} and its status is {:?}", url, status);
"Meet a fetched url {} and its status is {:?}",
url.clone(),
status
);
assert!(promise.is_some()); assert!(promise.is_some());
@ -1170,24 +1166,12 @@ pub fn fetch_single_module_script(
ModuleStatus::Fetching => return promise.clone(), ModuleStatus::Fetching => return promise.clone(),
ModuleStatus::FetchingDescendants => { ModuleStatus::FetchingDescendants => {
if module_tree.has_all_ready_descendants(&module_map) { if module_tree.has_all_ready_descendants(&module_map) {
let module_error = module_tree.get_error().borrow();
if module_error.is_some() {
promise.resolve_native(&()); promise.resolve_native(&());
} else {
promise.resolve_native(&());
}
} }
}, },
// Step 3. // Step 3.
ModuleStatus::FetchFailed | ModuleStatus::Ready | ModuleStatus::Finished => { ModuleStatus::FetchFailed | ModuleStatus::Ready | ModuleStatus::Finished => {
let module_error = module_tree.get_error().borrow();
if module_error.is_some() {
promise.resolve_native(&()); promise.resolve_native(&());
} else {
promise.resolve_native(&());
}
}, },
} }