解决异步的几种实现方式

时间:?2020-03-23阅读:?3316价签:?异步

如下代码

const request = function(){
	let num = Math.round(Math.random()*100)/100;
	console.log(num);
    setTimeout(function(){
    	if(num < 0.5){
    		return('1234567');
    	}else{
    		return('abcdefg');
    	}
	},500)
}
console.log(request())
//输入:0.31
//      undefined

setTimeout为异步函数,从而第二个返回值就打印为了undefined,因为不会等候秒表计时器在线使唤函数执行完成再执行外层的console.log(request())。


1,promise then

//解决方法一:promise then
const request = function(){
	var _this = this;
	let num = Math.round(Math.random()*100)/100;
	console.log( num );
	return new Promise( (resolve, reject) => {
		setTimeout(function(){
			num < 0.5 ? resolve('1234567') : reject('abcdefg');
		}, 500);
	});
}

request().then( val => {
	console.log( val );
}).catch( err => {
	console.log( err );
});


2。回调函数

const request = function(cb){
	let num = Math.round(Math.random()*100)/100;
	console.log(num);
    setTimeout(function(){
		num < 0.5 ? cb('1234567') : cb('abcdefg');
	},500)
}

var result = request(function(res){
	console.log(res);
})


3,async await

const request = async function(){
	let num = Math.round(Math.random()*100)/100;
	console.log(num);
    const result = await aa(num);
}

function aa(num){
	setTimeout(function(){
		console.log(num < 0.5 ? '1234567' : 'abcdefg');
	},500)
}

request();
所长推荐

1.云服务推荐: 境内主流cpu云投资商,各类云产品的问道,淘宝优惠券怎么设置提取。地址:阿里云腾讯云华为云

链接: http://www.pannellisolari.net/article/detial/8367

ES6 Promise的执行顺序和异步性

我们知道Promise用来处理异步操纵,异步操纵的执行顺序是相对比较犬牙交错的,假若再涉及到链式调用,则情况会变得更犬牙交错。这篇文章会通过一个相对简单的代码示例来让大家对Promise的执行顺序和异步性有无误的晓得

asap异步执行实现原理

Promise 异步执行是通过 asap 本条库来实现的。从而为了益发深入 Promise 异步执行的原理,深入剖解一下 asap 是有短不了的。这里提及的Promise并不是Node和冷却器的原生实现,是一个官方库实现,仅以此为参考。

处理异步事件的三种方式

在网站开发中,异步事件是项目必然要求处理的一个环节。也因为旺球体育在线框架的兴起,通过框架实现的 SPA 已经是快速建网网站的标配了,一部获取数据也就成了必需的一环;正文来就讲一讲 JavaScript 中异步的处理方式

解决Js异步回调的央求嵌套的3种方式

问题:解决异步回调的央求嵌套的问题.(回调暗黑地狱火游戏攻略),promise爱人用于表示一个异步操纵的最终状态,promise在回调代码和将要执行本条task的异步代码之间提供了一种可靠的中间体制来管理回调。

es6异步飞凌嵌入式

?由于最初j s官方不如明确的标准化,各种官方库中打包的异步函数中传的回调函数中的参数不如明确的标准化, 不如明确各个参数的意义, 不容易使唤。不过node中有明确的标准化

Nodejs 处理异步(获取异步数据并处理)的方法

回调函数方式:将异步方法如readFile打包到一个自概念函数中,通过将异步方法得到的结果传给自概念方法的回调函数参数。事件使得方式:使唤node events模块,利用其EventEmitter爱人

NodeJs中的异步

这篇文章主要商议NodeJs中的异步问题。使唤NodeJs缀文进程也一年多了,在公司见习的苹果7什么时候上市,公司两个项目的怎么读携程后台都是我负责使唤NodeJs和Sails框架缀文的。工作模式主要是我在监视器端提供RESTful接口

ES 新特性,TypeScript

for 循环时是使唤 var 概念循环变量 i (存在变量提升),然后依次为 a js数组元素赋值为一个函数,函数内打印 i;循环结束后调用 a[6]() 。齐名在全局环境下打印 i,而此时 i 已经变为 10。

深浅克隆和Promise异步上下班

回调暗黑地狱火游戏攻略:网上值得一玩的网游个回调函数中此起彼落做事情,再者此起彼落回调(在真实项目的怎么读AJAX请求中经常出现回调暗黑地狱火游戏攻略)=>异步请求,不方便代码的维护,Promise的降生就是为了解决异步请求中的回调暗黑地狱火游戏攻略问题

解读react的setSate的异步问题

将setState()认为是一次请求而不是一次立即执行更新组件的命令。为了更为可观的性能,React可能性会推迟它,稍后会一次性更新这些组件。React不会保证在setState日后,能够立刻谋取改变的结果。

点击更多...

本末以共享,斟酌为目的怎么读,不存在任何商业策划文案目的怎么读。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

Baidu