av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:101日期: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()。可是如果直接執行否f2(),像下面:

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
主站蜘蛛池模板: 一级欧美一级日韩片 | 亚洲一区二区三区在线 | 一区二区精品 | 欧美日韩国产一区二区三区 | 国产一区2区 | 精品视频一区二区三区 | 国产女人叫床高潮大片免费 | 在线观看亚洲精品视频 | 婷婷毛片| 激情网站在线 | 国产精品视频播放 | 国产视频第一页 | jav成人av免费播放 | 久久精品国产免费看久久精品 | 欧美一区二区精品 | 国产资源在线观看 | 国产成人免费视频网站视频社区 | 亚洲美女网站 | 欧美1区2区 | 亚洲a在线观看 | 午夜精品久久久久久久久久久久久 | 久久久久精 | 在线观看亚洲欧美 | 黄网站免费入口 | 亚洲国产精品日韩av不卡在线 | 欧美在线资源 | 精品一区二区在线观看 | 日本福利一区 | 91免费看片 | 免费看的黄网站 | h视频在线免费观看 | 紧缚调教一区二区三区视频 | 日韩精品中文字幕一区二区三区 | 成人高清在线视频 | 韩日三级 | 精品一区二区三区四区外站 | 国产精品久久久久久影视 | 91人人在线 | 国产精品伦一区二区三级视频 | 免费精品久久久久久中文字幕 | 欧美高清视频 |