我有兩個函數:第一個開始預加載,第二個 - 做一個ajax請求,它得到2秒響應。 一個id通過兩個addEventListners啓動這兩個函數。 的任務是當第二個函數得到響應時,第一個函數不會等待。Js兩個函數使異步工作異步(獨立)
回答
有異步功能的JS應該是一個概念:
異步功能上JS的工作原理承諾你可以在這裏閱讀更多關於它:https://developers.google.com/web/fundamentals/getting-started/primers/promises
異步函數的語法是
async function name(<parameters>)
{
statements
}
請訪問https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function瞭解更多信息,可以實現
異步執行像這樣:
Promise.resolve("World").then(console.log); // then callbacks are always asynchronous
console.log("Hello");
或者乾脆:
setTimeout(function(){
console.log('1');
}, 2000);
console.log('2');
功能likePromise(){ \t \t新無極(函數(解析,拒絕){ \t \t \t unAbleOrAbleSubmit( '無法'); \t \t \t的console.log( '無極:unAbleOrAbleSubmit'); \t \t \t決心(); \t \t})然後(函數(){ \t \t \t \t validateForm(); \t \t \t \t console.log('Promise:validateForm'); \t \t}); \t \t console.log('Promise:'); 。 \t \t/* unAbleOrAbleSubmit( '無法')然後(函數(){ \t \t \t返回validateForm(); \t \t})*/ \t} – Vadik
function likePromise(){
new Promise(function(resolve, reject) {
unAbleOrAbleSubmit('unAble');
resolve();
}).then(function() {
validateForm();
});
}
儘管如此代碼unAbleOrAbleSubmit( '無法');等待validateForm();
- 1. 異步函數進行異步調用
- 2. 兩個異步函數後的回調
- 3. 調用異步兩個函數
- 4. 不能工作的NodeJS異步函數
- 5. 異步和同步I/O操作系統是否獨立?
- 6. 角JS異步兩個API請求
- 7. 獨立的ASIO異步不連接
- 8. Javascript異步函數
- 9. 從異步函數
- 10. C#異步函數
- 11. QML中的JS異步函數
- 12. 異步異步
- 13. 如何使異步函數像普通函數一樣工作?
- 14. 異步操作中的異步操作
- 15. 包裝紙一個異步函數和維持異步
- 16. 異步動作+同步DBQuery VS同步動作+異步DbQuery
- 17. 當我不使用異步函數時出現異步錯誤?
- 18. 使操作異步
- 19. 如何獲取兩個異步函數的兩個參數?
- 20. 同步調用不工作,但異步
- 21. 異步數組函數
- 22. F#異步工作流程
- 23. WebRequest.BeginGetResponse不能異步工作
- 24. CreateFromObservable是否異步工作?
- 25. 流星WrapAsync異步工作
- 26. 異步HTTP使用異步CTP在單個函數中發佈數據
- 27. 使用異步js的異步並行調用llin
- 28. 的std ::異步不起作用異步
- 29. 異步函數 - 任務工廠
- 30. 可選同步接口異步函數
請提供一個 [最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – George