亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 關于Promise,為何我這樣寫不能得到正確的執行順序?

瀏覽:108日期:2023-02-22 10:39:23

問題描述

$.ajax({ url: ’/latestNewsIndex’, type: ’get’, dataType: ’json’, timeout: 1000, success: function (data, status) {if (data.value.length == 0) { alert('暫時沒有更多新聞!');}else { f2(data.value);} }, fail: function (err, status) {alert(’暫時沒有更多新聞!’); }})function f2(news) { var promise = new Promise(function(resolve,reject) {pullUpAction(news);resolve(1); }); promise.then(function(id) { loaded()});}

通過ajax,然后調用f2(),可以實現先執行pullUpAction(news),結束后執行loaded()??墒侨绻苯訄绦蟹駀2(),像下面:

f2(news);function f2(news) { var promise = new Promise(function(resolve,reject) {pullUpAction(news);resolve(1); }); promise.then(function(id) { loaded()});}

就不能實現Promise先后執行方法的效果,這是為什么呢?

問題解答

回答1:

test(’test’)function test (value) { let promise = new Promise(function (resolve, reject) { test1(value) resolve(1) }) promise.then(function (id) { console.log(’我后執行,我的值為:’ + id) })}function test1 (value) { console.log(value) window.setTimeout(function (value) { console.log(’我先執行,我的值為:’ + value) }, 10 * 1000)}

結果是javascript - 關于Promise,為何我這樣寫不能得到正確的執行順序?

在沒有設定時的時候是先執行的test1函數再執行promise對象成功時的返回.有可能的猜測就是你在使用ajax請求時,f2函數完成的時間剛好與ajax請求結束的時間一樣或者小于,所以你看到了你想要的執行結果,但是直接調用不通過ajax時則反應出了真實的反應時間。建議在這里pullUpAction調試看看以上為本人愚見,僅做參考

標簽: JavaScript
主站蜘蛛池模板: 久久国产一区二区三区 | free 性欧美69hd| 成人欧美一区二区三区白人 | 看黄色小视频 | 国产精品视频一区麻豆 | 国产va欧美va在线观看 | 国产精品亚洲玖玖玖在线靠爱 | 国产欧美日韩精品第三区 | 香蕉视频在线网站 | 国产亚洲精品激情一区二区三区 | 欧美视频二区 | 日本久久久免费高清 | 国外免费精品视频在线观看 | 香蕉超级碰碰碰97视频在线观看 | 国产大陆精品另类xxxx | a国产精品 | 国产成人污污网站在线观看 | 成人午夜兔费观看网站 | 一级亚洲 | 娇小性色xxxxx | 黄色片免费看视频 | 六月婷婷七月丁香 | 中国黄色a | 哪个网站能看毛片 | 国产成人免费高清激情视频 | 九一在线完整视频免费观看 | 成人精品综合免费视频 | 成年美女黄网站色视频大全免费 | 日本欧美久久久久免费播放网 | 久久这里只有精品免费播放 | 欧美特黄一级高清免费的香蕉 | 成人娱乐网站 | 91麻豆精品国产自产在线 | 亚洲精品色综合久久久 | 精品一区二区三区影片 | 97午夜| 青青草伊人网 | 国产一区在线mmai | 国产成人午夜精品5599 | 91porn在线观看国产 | 污片在线观看免费 |