草庐IT

react-promise

全部标签

javascript - react / Hook : prevent re-rendering component with a function as prop

假设我有:constAddItemButton=React.memo(({onClick})=>{//Goalistomakesurethisgetsprintedonlyonceconsole.error('ButtonRendered!');returnAddItem;});constApp=()=>{const[items,setItems]=useState([]);constaddItem=()=>{setItems(items.concat(Math.random()));}return({items.map(item=>{item})});};每当我添加一个项目时,重新呈

javascript - 如何为我的任务实现实现 Promise.all 的等价物?

这是我的Task实现(即一种Promise但遵守monad法则并且可取消)。它工作坚如磐石:constTask=k=>({runTask:(res,rej)=>k(res,rej)});consttAp=tf=>tk=>Task((res,rej)=>tf.runTask(f=>tk.runTask(x=>res(f(x)),rej),rej));consttOf=x=>Task((res,rej)=>res(x));consttMap=f=>tk=>Task((res,rej)=>tk.runTask(x=>res(f(x)),rej));consttChain=fm=>mx=>Ta

javascript - 将回调变成 promise

我正在使用googlemapsapi,这段代码异步返回地点列表。我怎样才能调用这个函数并让它在收集完所有数据后触发一些东西?到目前为止,这是我尝试过的-$.search=function(boxes){functionfindNextPlaces(place_results,searchIndex){vardfd=$.Deferred();if(searchIndex 最佳答案 要回答标题所暗示的问题,“将回调转化为promise”,简单的答案是使用一个非常简单的“promise模式”(我的术语),其中Deferred的.resol

javascript - 如何捕获 promise 运行时 Javascript 错误?

我目前正在实现一个基于PDF.js的PDF查看器,作为其中的一部分,我了解了promise对象。我还了解到运行时错误不会自动显示在调试控制台中:PDFJS.getDocument(...).then(function(pdfDocument){alert(UndefinedVariable);//Notshowninconsole!},function(error){console.log("Erroroccurred",error);});除了按照http://www.asyncdev.net/2013/07/promises-errors-and-express-js/中的描述添加

javascript - ECMAScript Promise.all 方法适用于 jQuery.Deferred。为什么?

我正在研究JavaScript中的Promises。我很感兴趣能否将ECMAScriptPromises与其他实现结合起来,例如jQuery$.Deferred。当Promises.all与jQuery$.Deferred一起正常工作时,我感到很惊讶。我试图在jQuery源代码和CommonJSPromises/A规范中找到答案,但我仍然误解了为什么这段代码按我预期的方式工作(在10秒后执行console.log,而不是5秒):varpromise=newPromise(function(resolve,reject){setTimeout(function(){resolve();/

javascript - React 是否会自动 trim 已从 DOM 中删除挂载点的组件?

例如,如果我使用renderComponent渲染到DOM节点,然后手动删除DOM节点,我是否只是泄漏了内存?渲染到删除的DOM节点的React组件是否被trim? 最佳答案 您可能泄漏了内存。使用React.unmountComponentAtNode(node) 关于javascript-React是否会自动trim已从DOM中删除挂载点的组件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

javascript - React 的 getDOMNode 总是返回组件的根 DOM 节点而不是引用的节点

我正在努力在React中使用refs。它们总是返回组件的根DOM节点而不是引用的节点。请考虑以下示例:varAuthApp=React.createClass({onSubmitClick:function(event){varusernameInput=this.getDOMNode(this.refs.username);//Thislogsrootinsteadof,why???console.log(usernameInput);},render:function(){return();}});我检查了优秀的ChromeReact插件中的代码,似乎this.refs.usern

javascript - 在 React JS 中的组件之间切换

我想创建一个包含2个组件的简单流程。第一个组件被渲染,我点击它上面的一个按钮,这个Action渲染第二个组件。单击第二个组件的按钮,它应该切换回第一个组件,但是却发生了错误:Warning:React.createElement:typeshouldnotbenull,undefined,boolean,ornumber.Itshouldbeastring(forDOMelements)oraReactClass(forcompositecomponents).Checktherendermethodofexports.warning@react.js:20728ReactElemen

javascript - 如何理解这段 Promise 代码?

'usestrict';Promise.resolve(()=>'John').then((args)=>{console.log(args);thrownewError('ops')}).catch((ex)=>{console.log(ex)}).then(()=>{thrownewError('ups')console.log('Doe')})我认为console.log(args);应该输出'John',但是当我运行这段代码时,输​​出是[[Function]]所以我很困惑。 最佳答案 Promise.resolve将使用您

javascript - React Native 循环这个

当我将onPress放在map循环中时,它不起作用。如何解决?varPageOne=React.createClass({_handlePress(){this.props.navigator.push({id:2,});},render(){return(//workhereOne{list.map(function(item,index){return(//doesn'tworkhehre{item})})});}}); 最佳答案 this指的是错误的上下文,您需要对作用域进行词法绑定(bind),这就是粗箭头函数将为您做的。尝