所以,我有一個這樣的代碼。promisifying同步功能
我想把它變成類似的東西。
getSomethingAsync(something)
.then(doSomethingAsync)
.then(doSomethingSync)
.then(doSomethingAsyncNext)
.then(function(val) {
//All done
})
.catch(err_handler);
我應該改變doSomethingSync是:
function(data) {
// do a lot of things with data, throw errors for invalid data
return changed_data;
}
到:
function(data) {
// do a lot of things with data, throw errors for invalid data
return new Promise(function(resolve,reject){
resolve(changed_data);
});
}
或:
function(data) {
return new Promise(function(resolve,reject){
// do a lot of things with data, reject for invalid data
resolve(changed_data);
});
}
爲了強調費利克斯的觀點 - 你根本不需要承諾 - 承諾讓你混合搭配。 –
@BenjaminGruenbaum這是否意味着,我仍然可以調用其他功能,即使鏈中的最後一個承諾已經解決? – cswl